忽略定义但是没有使用的变量
2020-05-13 本文已影响0人
云石畅想
defined but not used
boost
#include <boost/core/ignore_unused.hpp>
// boost::ignore_unused(v1, v2, v3);
// boost::ignore_unused<T1, T2, T3>();
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