【问题标题】:Why does the DEBUGLOG syntax have 3 dots (...)?为什么 DEBUGLOG 语法有 3 个点 (...)?
【发布时间】:2011-09-02 09:43:36
【问题描述】:

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

提前致谢…………

【问题讨论】:

    标签: cocoa-touch xcode debugging


    【解决方案1】:

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

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

    调用宏时,所有 之后的参数列表中的标记 最后命名的参数(这个宏有 none),包括任何逗号,变为 变量参数。这个序列 令牌替换标识符 VA_ARGS 出现在宏正文中。

    (我不确定为什么“x...”不带逗号。这不是您通常会看到的形式。)

    【讨论】:

      猜你喜欢
      • 2019-07-12
      • 1970-01-01
      • 1970-01-01
      • 2015-01-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-05-14
      • 1970-01-01
      相关资源
      最近更新 更多