宏定义中“...”和“##”的含义

时间:2011-12-07 06:36:37

标签: objective-c syntax macros

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

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

此定义中...##的含义是什么?将它们与msg结合使用是否有特殊含义:msg..##msg

1 个答案:

答案 0 :(得分:3)

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

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

会做同样的事情