能不能高效优雅地将枚举变量转换成字符串?或者不用enum,只要高效优雅就行。
本帖最后由 shendaowu 于 2013-07-22 20:06:51 编辑 我已经被本贾尼洗脑了,极度抵制宏,更新代码的时候更改一个地方的代码的时候最好不要连带更改其他地方的代码(用查表法转换成字符串需要这样做)。所以感觉这个好像是无解了。
我刚才搜了很长时间这个东西,根本就有没有高效优雅的。
[解决办法]
高效优雅的使用字符串表达?
可惜没有symbol类型
[解决办法]
自己写一个预处理器, 在编译器运行, 它搜索代码中的 enum 定义, 转换成一个字符串表送给编译器编译.
[解决办法]
这种不用宏真的是浪费
[解决办法]
enum { first, second } sequence;
#define ENUM_TO_STR(enum_value) #(enum_value)
当然这样做还是比较不优雅的。
[解决办法]
I think a coin has two sides, everything has it's advantage and short-come.
for enum. I think it's readable than self defined string.
another example, sometimes I even find 'goto' is more convenient in some cases if you use it carefully.
[解决办法]
极度抵制宏只能是一个白痴级行为。
[解决办法]
linus不用C++,不代表我们也能不用C++。
虽然我自己极度讨厌C++。但是大神跟我这种小虾米,
根本就不是一个层次的。
[解决办法]
+1
[解决办法]
你可以用一个singleton的对象来专门处理这个事情,由它来负责enum值到string和反向的转换,对象的实现使用两个hash。