我有一个枚举,其中包含数百个条目。按名称获取枚举值
我将以字符串的形式获取枚举的值。有没有办法将字符串转换为枚举值?否则,我将最终使用数百条if语句。
考虑
enum Colors { Red, Green, Blue, Yellow ... } there are more than 100 entries
我会在一个字符串变量越来越"Red"
,
String color = "Red"; // "Red" would be generated dynamically.
通常我们访问枚举通过以下方式, Colors::Red
,Colors::Blue
等等 有任何我们可以通过某种方式访问它的方式:
Colors::color; // i.e enumtype::stringVariable
在这里的很多帖子中,给出了我们可以使用地图,但同时在构建地图时我们将最终使用数百个if
s。
有什么办法可以避免这种情况?
不,不是那样的。另外,你所说的不是C. – Ryan
避免它的方法是使用一个实际的表格。 – Ryan
在这个意义上的实际表?考虑这两个c/cpp。 –