这个C++定义宏做什么?

nxowjjhe  于 2023-01-28  发布在  其他
关注(0)|答案(2)|浏览(146)

这个定义宏是做什么的?我假设这个宏会把给定的字符串打印到标准输出,但是它什么也没打印出来,我错了吗?

#define SCOPE_LOGGER(...)
...
void someClass::someFunction() { SCOPE_LOGGER("someClass::someFunction()"); ... }
fumotvh3

fumotvh31#

根据KamilCuk's answer,该宏将展开为空。
然而,最有可能的是,它确实通过一些其他预处理条件路径扩展到了某个东西,即imho该行在代码中的显示如下:

#ifdef DEBUG
#define SCOPE_LOGGER(...) something real that does the logging
#else
#define SCOPE_LOGGER(...)
#endif

只有这样这句话才说得通。

vshtjzan

vshtjzan2#

这个定义宏做什么?
定义一个宏函数,该函数可以接受任意数量的参数,并可以不展开任何内容。
我说错了吗?
因为宏扩展为空,所以SCOPE_LOGGER("someClass::someFunction()")从代码中删除。拖尾;保留。

相关问题