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