码迷,mamicode.com
首页 > 其他好文 > 详细

操作构造字符串化宏#define STRINGIZE(x) #x

时间:2018-05-24 21:14:14      阅读:1298      评论:0      收藏:0      [点我收藏+]

标签:int   def   str   解决方案   const   define   单元测试   展开   转换   

c++test工程单元测试中报错 “STRINGIZE” 未定义错误 

解决方案:在头文件定义宏STRINGIZE

#符号把一个符号直接转换为字符串,例如:
#define STRINGIZE(x) #x
const char *str = STRINGIZE( test_string ); str的内容就是"test_string",也就是说#会把其后的符号
直接加上双引号。
##符号会连接两个符号,从而产生新的符号(词法层次),例如:
#define SIGN( x ) INT_##x

int SIGN( 1 ); 宏被展开后将成为:int INT_1;

操作构造字符串化宏#define STRINGIZE(x) #x

标签:int   def   str   解决方案   const   define   单元测试   展开   转换   

原文地址:https://www.cnblogs.com/zhangfengfly/p/9085031.html

(0)
(1)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!