object-c 宏定义

来源:互联网 发布:知乎 出书 编辑:程序博客网 时间:2024/04/28 05:14

__VA_ARGS__ 

看别人的源代码的时候会看到这样的宏定义

#define LOGWARN(xx, ...) NSLog(@"<WARN>: " xx, ##__VA_ARGS__)


... 匹配 __VA_ARGS__这个可变参数。  前面添加了## 是为了应对这样调用的情况: LOGWARN(@"sdfd") 没有格式输入,最终宏替换为NSLog(@"sdfd",)。为了去掉括号里面的那个逗号在__VA_ARGS__前增加 ##


另外

NSLog(@"nihao "@" hello world"); 这个的输出是 nihao hello world 


# 与 ##的区别

# 是给宏添加双引号

## 用作连接


0 0
原创粉丝点击