摘要: 本文整理自csdn。#define f(a,b) a##b#define d(a) #a#define s(a) d(a)void main( void ){ puts(d(f(a,b))); puts(s(f(a,b)));}输出结果:f(a,b)ab分析: ##把两个符号连起来 #a指把a当成符号,就是把#后面的看成字符串# 和 ## 操作符是和#define宏使用的. 使用# 使在#后的首个参数返回为一个带引号的字符串. 例如, 命令 #define to_string( s ) # s将会使编译器把以下命令 cout 因为d宏中的参数是另外一个宏,且带##,所以作为参数的宏不展开... 阅读全文
posted @ 2014-04-08 17:12 haotianling 阅读(295) 评论(0) 推荐(0) 编辑