C ++标准库&枚举

时间:2017-07-15 05:29:50

标签: c++ enums c++14

C ++可以有一个标准的库工具(比如操纵器等)来输出枚举数作为与其名称相对应的字符串而不是整数吗?

1 个答案:

答案 0 :(得分:0)

简短的回答是否定的。对于本机支持,您需要像Java或C#中那样reflection。对C ++的反思仍然不是标准的,但可以在未来的标准中引入。到目前为止,我可以推荐以下方法:

enum class MyEnum 
{ One, Two };
std::map<MyEnum, std::string> MeEnumAsString = { {MyEnum::One, "One"}, {MeEnum::Two, "Two"} };
std::cout << MyEnumAsString.at(MyEnum::One);