C++ 基本枚举声明

示例

标准枚举允许用户为一组整数声明一个有用的名称。这些名称统称为枚举器。枚举及其关联的枚举器定义如下:

enum myEnum
{
    enumName1,
    enumName2,
};

枚举是一种类型,它不同于所有其他类型。在这种情况下,此类型的名称为myEnum。这种类型的对象应该在枚举中采用枚举值。

枚举中声明的枚举数是枚举类型的常量值。尽管枚举数是在类型中声明的,但::不需要范围运算符访问名称。因此,第一个枚举器的名称为enumName1。

C ++ 11

可以选择使用范围运算符来访问枚举中的枚举器。所以enumName1也可以拼写myEnum::enumName1。

为枚举器分配的整数值从0开始,并为枚举中的每个枚举器增加1。因此,在上述情况下,enumName1值为0,而enumName2值为1。

用户还可以为枚举器分配一个特定的值。该值必须是整数常量表达式。未明确提供其值的枚举数的值将设置为先前枚举数的值+ 1。

enum myEnum
{
    enumName1 = 1, // 值将是1
    enumName2 = 2, // 值将是2
    enumName3,     // 值将为3,先前值+ 1
    enumName4 = 7, // 值将是7
    enumName5,     // 值将是8
    enumName6 = 5, // 值将为5,合法倒退
    enumName7 = 3, // 值将为3,合法重用数字
    enumName8 = enumName4 + 2, // 值将为9,采用先前的枚举并对其进行调整是合法的
};