在阅读一些程序的时候,发现C/C++宏定义中,有两个##符号的语句。其意为:字符连接,即在通过##符号连接字符串。

如:
#define Q(TEXT) "a"##TEXT
示例代码:

1 
2 #define Q(TEXT) "a"##TEXT
3 #include <stdio.h>
4 int main()
5 {
6     printf(Q("bcdefg")) ;  // 本条语句输出为:abcdefg
7 }

注:示例代码在VC2008中测试通过
注2:GCC中测试未通过
posted on 2013-01-02 17:32 Fanze 阅读(530) 评论(0)  编辑 收藏 引用

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   博问   Chat2DB   管理