如何优雅简便的将任意东西(如数字字面量之类)转换为字符串字面值?

软件和网站开发以及相关技术探讨
回复
科学之子
帖子: 2284
注册时间: 2013-05-26 6:58
系统: Debian 9

如何优雅简便的将任意东西(如数字字面量之类)转换为字符串字面值?

#1

帖子 科学之子 » 2016-07-13 5:58

代码: 全选

//获取宏的数字
#define debug_line_unsigned(line_v_unsigned)#line_v_unsigned
//为调试目的设置的宏
#define debug_line(line_v)debug_line_unsigned(line_v)
但这么写好像很笨的样子,有没有更巧妙一些的方法?
头像
astolia
论坛版主
帖子: 6396
注册时间: 2008-09-18 13:11

Re: 如何优雅简便的将任意东西(如数字字面量之类)转换为字符串字面值?

#2

帖子 astolia » 2016-07-13 15:28

一股浓浓的知乎臭扑面而来。
觉得笨不是因为宏名又臭又长么?看看官方文档怎么取名的
https://gcc.gnu.org/onlinedocs/cpp/Stringification.html
科学之子
帖子: 2284
注册时间: 2013-05-26 6:58
系统: Debian 9

Re: 如何优雅简便的将任意东西(如数字字面量之类)转换为字符串字面值?

#3

帖子 科学之子 » 2016-07-13 22:37

astolia 写了:一股浓浓的知乎臭扑面而来。
觉得笨不是因为宏名又臭又长么?看看官方文档怎么取名的
https://gcc.gnu.org/onlinedocs/cpp/Stringification.html
感觉因为要定义两个宏...
所以觉得"笨",感觉就好像可以写成一个函数的代码却硬是要COPY函数体
回复