如何解决C ++将枚举字段名称转换为字符串
我有一个可以自动生成许多C ++代码的工具。它产生的一件事是很多枚举。例如:
typedef enum InsId
{
kInsH = 0,kInsM1 = 1,kInsM2 = 2,kNumIns = 3
} InsId;
我有一些代码必须将字符串转换为上述枚举:“ kInsH”-> InsId::kInsH
。可以使用地图(如许多答案中所述):
const std::unordered_map<InsId,std::string> id_map_{{InsId::kInsH,"kInsH"},{InsId::kInsM1,"kInsM1"},{InsId::kInsM2,"kInsM2"}};
问题是:有没有办法在编译时从枚举字段名称生成那些字符串?
谢谢。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。