首页 相关文章 把符号转化为字符串的宏技巧

把符号转化为字符串的宏技巧

此处使用到一个特殊的宏:#

#的作用是给其后的参数添加一对双引号。

运行一下下面的例子代码:

#define Enum2Str(e) #e

enum VALUE{ ONE ,TWO ,THREE };
void test(VALUE v);

void main()
{
test(ONE);
}

void test(VALUE v)
{
switch(v)
{
case ONE: cout Enum2Str(ONE) endl;break;
case TWO: cout Enum2Str(TWO) endl;break;
case THREE: cout Enum2Str(THREE) endl;break;
}
}

看了结果之后,相信你对这个宏有了初步的认识,事实上,它可以把任意的符号转化为字符串,也就是说,你不仅可以用来输出enum值,而且可以用来输出函数名,变量名等。

很容易想到的一个用途就是用来做log或者用以输出调试信息。

这里提供一个简单的例子:

#define S...[ 查看全文 ]

2016-02-19 标签:

把符号转化为字符串的宏技巧的相关文章

手机页面
收藏网站 回到头部