【问题标题】:Meaning of "..." and "##" in macro definition宏定义中“...”和“##”的含义
【发布时间】:2011-12-07 06:36:37
【问题描述】:
#define MyLog(msg...) MyLogWith(__func__,##msg);

MyLog(@"I do not know...");

...## 在这个定义中是什么意思?将它们与msg:msg..##msg 结合起来有什么特殊含义吗?

【问题讨论】:

    标签: objective-c syntax macros


    【解决方案1】:

    msg...表示接受任意数量的参数。
    ,##msg表示粘贴参数,如果参数计数为0,则删除前面的,
    msg没有特殊含义,它只是参数的名称,例如

    #define MyLog(args...) MyLogWith(__func__,##args);
    

    也会这样做

    【讨论】:

      猜你喜欢
      • 2017-12-21
      • 1970-01-01
      • 1970-01-01
      • 2010-09-20
      • 1970-01-01
      • 1970-01-01
      • 2011-08-18
      • 1970-01-01
      相关资源
      最近更新 更多