C++ 忽略定义但是没有使用的变量

defined but not used

boost

#include 

// boost::ignore_unused(v1, v2, v3);
// boost::ignore_unused();

int fun( int foo, int bar )
{
    boost::ignore_unused(bar);
#ifdef ENABLE_DEBUG_OUTPUT
    if ( foo < bar )
        std::cerr << "warning! foo < bar";
#endif
    return foo + 2;
}

c++17

https://en.cppreference.com/w/cpp/language/attributes/maybe_unused

[[maybe_unused]] static int a = something();

macro

#define UNUSED(expr) do { (void)(expr); } while (0)

#define UNUSED(expr) (void)(expr)

#ifdef UNUSED
#elif defined(__GNUC__)
# define UNUSED(x) UNUSED_ ## x __attribute__((unused))
#elif defined(__LCLINT__)
# define UNUSED(x) /*@unused@*/ x
#else
# define UNUSED(x) x
#endif

你可能感兴趣的:(C++ 忽略定义但是没有使用的变量)