先看一个例子:
#define czg(x,y) x##y
czg(love,9728)=?
答案:love9728
##
被称为连接符,用来将两个宏参数连接为一个宏参数。
再看:
#define czg(x) #@x
czg(3)=?
答案:’3’
#@
其实就是给x加上单引号但是如果你的测试参数超过四个字符(czg(12345)),编译器就给报错!error C2015: 常量中的字符太多:error C2015: too many characters in const
最后:
#define czg(x) #x
czg(3)=?
答案:“3”
#
其实就是给x加上双引号,使其变成字符串
总结:
##
连接符
#@
加单引号,字符常量
#
加双引号,字符串