宏定义的 # 和##

C++/C 宏定义(define)中#和 ## 的含义
 

##是连接符号,把参数连接在一起

 

#define FUN(arg,x)     arg##x

 

则     FUN(ABC,1)
等价于 ABC1
 
使用场景主要 是 给多个 变量 命名,这样可以有效的防止重复,当然,也需要看是怎么输入的了。
 

#是字符串化的意思,出现在宏定义中的#是把跟在后面的参数转成一个字符串;

 

#define PRINT(x) printf("%s\n",#x)

 
PRINT(stultz)
 
输出  stultz
 
posted @ 2017-04-14 16:12  Lckfa  阅读(344)  评论(0编辑  收藏  举报