为什么DEBUGLOG语法有3个点(...)?

时间:2011-05-26 08:31:44

标签: cocoa-touch xcode debugging

我看过DEBUGLOG(x,...)语法。它支持DEBUGLOG(x,...)DEBUGLOG(x...)。 如果我们更改DEBUGLOG(x,..)之类的点,则会出错。谁能解释一下呢?

提前致谢..........

1 个答案:

答案 0 :(得分:3)

这是一个“可变”宏,意味着它需要多个参数。它是像printf这样的C变量函数的宏等价物。 ...表示“此处的任何其他参数也可以”。

http://gcc.gnu.org/onlinedocs/cpp/Variadic-Macros.html

  

调用宏时,全部   在其后的参数列表中的标记   最后命名的参数(这个宏有   没有),包括任何逗号,成为   变量参数。这个顺序   令牌替换标识符   宏体中出现的 VA_ARGS

(我不确定为什么“x ...”在没有逗号的情况下起作用。这不是你经常看到的形式。)