c c++ 宏定义中#, ##, #@的含义


#表示:对应变量字符串化,即加双引号  

连接符#@:它将单字符标记符变换为单字符,即加单引号

##表示:把宏参数名与宏定义代码序列中的标识符连接在一起,形成一个新的标识符

例如:

#define A(x)  #@x      //此处x仅限于单个字符

则A(m) 字面量表示 'm',     而A(abc),则无效

 

#define B(x)  #x

则B(m) 字面量表示 "m", B(abcd123)  字面量表示 "abcd123"

 

#define C(x)  Class##x

C(List) 字面量表示 ClassList


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM