1. # 字符串操作
例如 #define STR(a, b) printf(#a#b) 函数中 STR(hello, hello to you) 实际上是 printf("hello""hello to you");
2. ##连接符
例如 #define LINK(a, b, c) a##&&b##&&c 函数中if (LINK(i > 0 , i < 100 , i != 50)) 实际是if (i > 0 && i < 100 && i != 50)
3. ...变参
例如 #define DBUG_ECHO (flag, par...)\
{\
if (flag)\
printf(par);\
}
在还函数中 DBUG_ECHO(1, "%s %d %d\n", str1, a, b); 实际是
{
if (1)
printf("%s %d %d\n", str1, a, b);
}
阅读(1218) | 评论(0) | 转发(1) |