C++枚举索引值
C++ enum index value
据我了解,如果我们有enum n{sunday //0,monday //1 ,Tuesday //2}
所以enum r { one, two = 4, three = 1, four};
一的值应该是0
,二是4
,三是1
,四是3
我试过了
cout << four
结果是
阿拉伯数字
enum
这样工作,让我们用你的例子:
enum r { one, two = 4, three = 1, four};
one
从0
开始,因为没有定义初始值。
two
被定义为4
,如果它没有被声明为4
,two
将被1
。
three
被定义为1
,如果它two
并且three
没有更早声明,它将2
,但它是1
。
four
没有任何相等性,因此它将获得分配的下一个值,因为three
是 1,four
将是2
。
如果未分配任何值,它将如下所示:
enum r { one, two, three, four};
one
=0
,two
=1
,three
=2
,four
=3
。
我希望这对你有所帮助。
由于three
被分配给1而four
没有,所以它被分配为three+1
,所以four = three + 1
相关文章:
- 为什么 int 类型的枚举类值不能用作 int
- 为什么static_cast基础类型的枚举类int8_t获得意外值?
- 如何使用默认值将枚举声明为 extern
- 将类用作类似枚举或具有特定值的类
- C++17:使用 std::optional 来评估枚举是否包含值
- 有没有办法使用类的私有枚举值作为模板参数?
- C++ 使用枚举类对象分配 std::map 值
- 如何使用默认值为构造函数中的枚举赋值?
- 使用枚举为数组编制索引是否安全?
- 如何通过索引访问枚举类
- 在编译时使用 和枚举作为索引分配数组的值 (C++)
- 如何设计运行时分配值枚举?
- C++枚举索引值
- 如何给枚举值的索引一个得到它?
- 使用其他库中的值枚举
- C++单值枚举与预处理器指令
- 通过其索引获取枚举值
- 通过引用或值枚举类C++11
- 使用枚举类值为数组编制索引时出现"Array subscript is not an integer"错误
- 使用固定值枚举数的枚举零初始化