c++ - ... 和 __VA_ARGS__的区别是什么呢?

 

问题描述:

  1. __VA_ARGS__的展开是什么呢?
  2. ... 和 __VA_ARGS__的区别是什么呢?
  3. 直接使用printf(format, ....)不行吗?
    为什么还要重新定义下:#define debug(...) print(format,__VA_ARGS__)?
#define debug(...) print(__VA_ARGS__)

debug("%s, %d\n", "test", 100);

 

第 1 个答案:

1,2: __VA_ARGS__ 展开成宏调用时对应 ... 的部分

3: 等调试结束了,可以用

#define debug(...)

直接关掉所有调试输出。


期望的效果是箭头的div给隐藏掉