C++ 通过其索引获取枚举值
如何通过索引访问枚举的每个值 比如说,C++ 通过其索引获取枚举值,c++,enums,C++,Enums,如何通过索引访问枚举的每个值 比如说, enum food{PIZZA, BURGER, HOTDOG}; 众所周知,除非初始化,否则第一个元素的索引从0开始 如何从索引中获取枚举的字符串值 我怎样才能让它打印比萨饼 cout << food(0); cOut不能获得C++中的 EnUM 的字符串表示。 你必须把它们存放在别的地方 示例 enum food{PIZZA, BURGER, HOTDOG} char* FoodToString(food foodid) {
enum food{PIZZA, BURGER, HOTDOG};
众所周知,除非初始化,否则第一个元素的索引从0开始
如何从索引中获取枚举的字符串值
我怎样才能让它打印比萨饼
cout << food(0);
<代码> cOut不能获得C++中的<代码> EnUM <代码>的字符串表示。 你必须把它们存放在别的地方 示例
enum food{PIZZA, BURGER, HOTDOG}
char* FoodToString(food foodid)
{
char* foodStrings[3] = {"PIZZA","BURGER","HOTDOG"};
return foodstrings[foodid];
}
没有办法那样做,因为没有必要那样做。通常,枚举用于替换我们使用的整数值,例如:-
int func ()
{
//...
if (something )
return 0;
return 1;
}
可以用
enum Status { SUCCESS, FAILURE };
Status func ()
{
//...
if (something )
return SUCCESS;
return FAILURE;
}
为了更好的可读性
如果您想通过提供索引来获取枚举值,那么可以将带有枚举值的索引存储在某种映射中(对于无序映射)。枚举没有索引。它们有一组实例可以拥有的值。