#define 中 # ## ##__VA_ARGS__
来源:互联网 发布:河北省网络行政学院 编辑:程序博客网 时间:2024/06/06 07:53
①“#” 是把跟在后面的参数转成一个字符串
eg:
#define OUTPUT(A) cout << #A << “:”<< (A) << endl;
int main()
{
int a = 1, b = 2;
OUTPUT(a);
OUTPUT(b);
OUTPUT(a+b);
return 0;
}
结果: a:1
b:2
a+b:3
结论:#后面的参数变为字符串
②##是连接符号,把参数连接在一起
eg:
#define FUN(arg) my##arg
则 FUN(ABC)等价于myABC
③##__VA_ARGS__
是一个可变参数的宏,当可变参数的个数为0时,这里的##起到把前面多余的”,”去掉的作用
阅读全文
0 0
- #define 中 # ## ##__VA_ARGS__
- #define 的特殊用法 ... __VA_ARGS__
- #define DEBUG(format, ...) printf(format, ##__VA_ARGS__)
- C 语言 define 变参__VA_ARGS__使用
- C语言中# ## __VA_ARGS__
- __VA_ARGS__
- __VA_ARGS__
- __VA_ARGS__
- __VA_ARGS__
- __va_args__
- __VA_ARGS__
- #define debug(format, ...) PROG_LOG(__FILE__, __LINE__, format, __VA_ARGS__)
- C语言中可变参数的宏 __VA_ARGS__
- C,C++宏中#、##和__VA_ARGS__的理解
- C中Define
- C中 #define
- #define 中 的“##”与“#”
- define中#与##区别
- bzoj 2763 [JLOI2011]飞行路线 Dijikstra 分层
- 物理吊桥交互
- 搜索
- hdu6071
- 最高效的进(线)程间通信机制: eventfd
- #define 中 # ## ##__VA_ARGS__
- python3 [爬虫入门实战]爬虫之scrapy安装与配置教程
- 分布式消息队列RocketMQ与Kafka架构上的巨大差异之1 -- 为什么RocketMQ要去除ZK依赖?
- 【PAT】【Advanced Level】1062. Talent and Virtue (25)
- [SDUT](2144)图结构练习——最小生成树 ---最小生成树(图)
- NIO的一些坑
- httpURLConnection-网络请求的两种方式-get请求和post请求
- 摆花
- Python: 创建空的list,以及append用法