c++ - 我不明白枚举在 C++ 中是如何工作的

标签 c++

我一直在玩 C++ 中的枚举,但我仍然无法理解这两个示例:

enum Colors {
    WHITE, BLACK, RED
};

Colors colors[3];
colors[0] = WHITE; // it's OK

和:

enum Colors {
    WHITE, BLACK, RED
};

int colors[3];
colors[0] = WHITE; // it's OK

我知道枚举的元素从 0 计数到 n-1,所以它们都有值。但是为什么我必须使用 Colors 枚举名称来声明一个数组?为什么我不能改用 int?或者我可以吗?

谢谢。

最佳答案

enum 允许您为介于 0n-1 之间的值使用英文名称。对于下一个开发人员来说,它更漂亮也更容易理解

int myColor = Colors::WHITE;

int myColor = 0; // What color is this? I don't know

关于c++ - 我不明白枚举在 C++ 中是如何工作的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15173179/

相关文章:

c++ - 如何以编程方式在 Linux 中获取窗口和系统的分辨率?

c++ - 使用 mex : No supported compiler or SDK was found 时出错

c++ - PSN_QUERYCANCEL 不关闭属性表

c++ - 在 Eclipse CDT 中重构 C++

c++ - 无法通过单击程序来运行程序,而我可以从终端运行程序

c++ - 非生成的特殊成员函数与删除的特殊成员函数

c++ - 模板继承和可变参数

c++ - getline 项目返回空变量

c++ - CPPRestSDK (casablanca) 从传入的 WebSocket 消息中提取 JSON(格式错误的 token )

c++ - 是否可以使用 cygwin 编译 Windows 服务?