我声明了一个枚举类型,
enum WeekEnum
{
Mon = 0;
Tue = 1;
Wed = 2;
Thu = 3;
Fri = 4;
Sat = 5;
Sun = 6;
};
当我已经拥有项目值“0、1 等”时,如何获取项目名称“周一、周二等”?
我已经有这样的功能
Log(Today is "2", enjoy! );
现在我想要下面的输出
今天是星期三,好好享受
原文由 Nano HE 发布,翻译遵循 CC BY-SA 4.0 许可协议
我声明了一个枚举类型,
enum WeekEnum
{
Mon = 0;
Tue = 1;
Wed = 2;
Thu = 3;
Fri = 4;
Sat = 5;
Sun = 6;
};
当我已经拥有项目值“0、1 等”时,如何获取项目名称“周一、周二等”?
我已经有这样的功能
Log(Today is "2", enjoy! );
现在我想要下面的输出
今天是星期三,好好享受
原文由 Nano HE 发布,翻译遵循 CC BY-SA 4.0 许可协议
3 回答2k 阅读✓ 已解决
2 回答3.9k 阅读✓ 已解决
2 回答3.2k 阅读✓ 已解决
1 回答3.2k 阅读✓ 已解决
1 回答2.7k 阅读✓ 已解决
3 回答3.4k 阅读
1 回答1.6k 阅读✓ 已解决
可能不是有史以来最好的解决方案,但这可以很好地完成工作。
枚举的名称是延迟加载的,因此在第一次调用
to_string
之后,它将被加载并保存在内存中。方法
from_string
没有实现,因为这里没有请求,但是可以通过调用get_enum_names
轻松实现,在向量中搜索名称,并将其位置转换为枚举类型.请在cpp文件中添加
get_enum_names
的定义(只有声明应该在头文件中)。它应该适用于 C++ >= 11
在 gcc 和 MSVC 中测试
执行:
用法: