#define TO_STRING( x ) TO_STRING1( x )
#define TO_STRING1( x ) #x
TO_STRING首先会将x全部展开(如果x也是一个宏的话),然后再传给TO_STRING1转换为字符串,现在你可以这样:
const char *str = TO_STRING( PARAM( ADDPARAM( 1 ) ) );去一探PARAM展开后的样子
取得宏展开#define TO_STRING( x ) TO_STRING1( x ) #define TO_STRING1( x ) #x
最新推荐文章于 2024-05-15 07:29:11 发布
本文介绍了一种使用宏定义实现参数转换为字符串的技术。通过双重宏定义TO_STRING与TO_STRING1, 文章展示了如何将宏参数转换为其自身的字符串形式。这种技巧在调试或需要将变量名作为字符串输出的情况下非常有用。
1189

被折叠的 条评论
为什么被折叠?



