c++字符串怎么转换成枚举

在c++中怎么把字符串转换成枚举类型呢?

比如说:

enum City{
    BEIJING,
    SHANGHAI,
    GUANGZHOU
}

//这个声明的函数,该怎么实现呢?
City string_to_enmu(string str,City c);
阅读 11.1k
2 个回答

没有好的方法的,c++的枚举就是一个简单类型,不含名字等信息,用if else吧,如果这个枚举很大,倒是可以考虑先做一个map,加快执行效率,但只有三个枚举项,差别不大。

被邀请了。楼上 i38me 的回答已经可以了。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题