C++ 枚举索引值

标签 c++ enums

据我所知,如果我们有 enum n{sunday //0,monday //1 ,Tuesday //2}

所以 enum r { one, two = 4, three = 1, four};

1 的值应该是 0 , 二是 4 , 三是 1四是3

我试过了

cout << four

结果是

2

最佳答案

enum 的工作方式如下,让我们以您的示例为例:

enum r { one, two = 4, three = 1, four};

one0 开始,因为没有定义初始值。

two 被定义为 4 如果它没有声明为 4two 将是 1 代替。

three 被定义为 1,如果 twothree 之前没有声明,它应该是 2 但它是 1

four 没有任何相等性,因此它将获得分配的下一个值,因为 three 是 1,four 将是 2

如果没有赋值,它看起来像这样:

enum r { one, two, three, four};

一个 = 0, two = 1, three = 2 = 3

希望对你有帮助

关于C++ 枚举索引值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50203866/

相关文章:

c++ - 在 C++ 中混淆 "double to long long"

objective-c - 使用枚举时无法使用简写 @n 类型语法实例化 NSNumber?

c# - 带有枚举的无效初始值设定项成员类

java - hadoop-enum.valueOf-java.lang.IllegalArgumentException:没有枚举常量

Java 枚举返回 Int

c++ - 如何在 C++ 中调用不同项目的方法?

c++ - 如何在 Mac Os 上按名称获取进程?

c++ - 如何获得忘记算术运算的警告?

c++ - OpenGL在不同的VBO中绘制具有不同颜色、顶点位置和顶点颜色的点?

java - 在 Java 中实现通用接口(interface)的枚举常量