可能重复:
如何定义枚举类型enumalpha?
C++中是否有类似于Java Enum.valueOf(string)的功能?
可能重复:
如何定义枚举类型enumalpha?
C++中是否有类似于Java Enum.valueOf(string)的功能?
不,甚至连更简单的任务(从枚举到字符串的转换)也没有,你需要自己编写代码。
编译器不会生成名称表(除非您计算调试信息),但如果您创建一个(或使用例如 doxygen 解析源代码并可以将这些列表以XML格式输出),那么您可以使用某种类型的字典,例如std::map<string, int>
来将标识符转换为其数字值。