我希望c ++中的某些内容尽可能接近该用法。
enum foo
{
bar_0 = "hello",
bar_1 = "world"
};
//..
cout << to_string(bar_0) << " " << to_string(bar_1);
输出&#34; hello world&#34;。
我知道看起来像这样的解决方案
ENUM foo
{
bar_0 ,
bar_1
};
//..
cout << to_string(bar_0) << " " << to_string(bar_1);
//>bar_0 bar_1
和像这样的解决方案
eunm foo
{
bar_0 ,
bar_1
};
std::string foo_to_string[] = { "hello", "world"}
//+ some static assert of the sizes
外面有什么东西更甜吗? 我想要的是enum-value和字符串在同一行
P.S。:我接受含有一些暗侧cpp-宏观魔法的解决方案
修改
为什么这不重复?
我的问题与标记为的重复不同,因为我想要自定义字符串而不是枚举值的名称。有人可以说,我可以改变枚举值的名称,这通常不起作用。例如error-msg。
enum Error_msg
{
you_are_using_internet_behind_a_proxy,
};
没有人想使用这种error-msg和enum-value名称。