如何从其值中获取枚举项名称?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (18)

我声明了一个枚举类型如下,

enum WeekEnum
{
Mon = 0;
Tue = 1;
Wed = 2;
Thu = 3;
Fri = 4;
Sat = 5;
Sun = 6;
};

当我已经拥有项目值“0,1,等等”时,如何获得项目名“Mon,Tue等”。

我已经有这样的功能了

Log(Today is "2", enjoy! );

现在我要输出

Today is Wed

提问于
用户回答回答于

不,你无法从C++中的值中获取“名称”,因为在编译过程中,所有符号都被丢弃。

用户回答回答于

你不能直接enum在C ++中使用Java枚举。

通常的做法是创建一个std::map<WeekEnum,std::string>

std::map<WeekEnum,std::string> m;
m[Mon] = "Monday";
//...
m[Sun] = "Sunday";

扫码关注云+社区