Jed*_*eal -1 c++ string macros
我的问题是这个问题的反面。
我想编写一个宏,它将接受一个整数和一个字符串文字作为参数,如下所示:
#define STRING_MAP_ENTRY(value, name) \
{value, std::to_string(val) + " - " + name}
STRING_MAP_ENTRY(0, "ENTRY_1")
Run Code Online (Sandbox Code Playgroud)
宏应该把上面的调用变成 {0, "0 - ENTRY_1"}
有没有办法做到这一点?我目前的尝试是这样的:
#define STRING_MAP_ENTRY(val, name) \
{ val, std::to_string(val) + "(" + name + ")" }
Run Code Online (Sandbox Code Playgroud)
这样的事情可以工作:
#define STRING_MAP_ENTRY(value, name) \
{value, #value " - " #name}
STRING_MAP_ENTRY(0, ENTRY_1)
Run Code Online (Sandbox Code Playgroud)
在#之前的令牌将字符串化它。至于组合它们,相邻的字符串文字将组合成一个字符串。