c++ - 如何给一个枚举值的索引并得到它?

标签 c++

我有这个枚举:

enum Status { CONTINUE, WON, LOST };

我想给一个值的索引(例如 1 代表 WON)并获得值(WON)。 我搜索了,但我只是找到了相反的方法!!! 我找到了这段代码,但它又给了我索引:

int main()
{
enum Status { CONTINUE, WON, LOST };
int myInteger = 1;
Status myValue = (Status)myInteger;
cout << myValue <<endl;//it rerurns 1 !!!
system("PAUSE");
}

那么从枚举中获取值的语法是什么?//我需要像array[1]这样的东西

最佳答案

C++“继承”自 C 的 enum。它实际上只不过是 C 中传统做事方式的简写符号,您的 enum 应该有是这样的:

#define CONTINUE 0
#define WON 1
#define LOST 2

enum 自动为符号分配连续的数字,但仅此而已。

C++11 添加了 enum class 来创建一个更像普通类型的枚举,但它仍然没有提供一种(自动)方式将数字表示形式转换为符号用过。

关于c++ - 如何给一个枚举值的索引并得到它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22205888/

相关文章:

c++ - 二维 vector 声明之间的区别

c++ - C++中的数组声明而不指定大小

c++ - 从成员 get 方法返回 const 引用

c++ - 在结构中定义常量

c++ - 编写 vector 类 C++

c++ - 有没有办法将 8bitX32 ymm 寄存器向右/向左移动 N 个位置(C++)

c++ - 实现拉普拉斯 3x3

c++ - 我可以将一个值初始化为一个指针吗?

c++ - 如何从 vector 中找到最小值?

c++ - libc++abi.dylib : terminate called throwing an exception Abort trap: 6