首页 > 解决方案 > C++ 枚举索引值

问题描述

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

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

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

我试过了

cout << four

结果是

2

标签: c++enums

解决方案


enum像这样工作,让我们以您的示例为例:

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

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

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

three被定义为1,如果它twothree没有早先声明,它会2改为但它是1.

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

如果没有分配任何值,它看起来像这样:

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

one= 0, two= 1, three= 2, four= 3.

我希望这可以帮助你。


推荐阅读