按字符串值从无序映射中获取枚举键

Get enum key from unordered map by string value

我需要一个函数来检查输入 (std::string) 是否唯一以及 return 其对应的枚举值。

我已经能够用一个简单的向量实现这个功能,它检查输入是否唯一。

应该returnenumE::HELLO.

我尝试调整上面的矢量代码以适应此功能,但我并没有真正取得进展。

根据您对示例的描述,here is a quick implementation。当然,逻辑可能不完全是你写的,但我相信你可以调整它。

  • 如果 std::string 有一个可以为您找到子字符串的 std::string::find 函数,您为什么要遍历整个字符串?
  • 有必要经历你上面写的所有麻烦吗?代码需要那么密集和不可读吗?

随意使用该函数并实现您的逻辑。