C++ 枚举 (enum)
C++ 枚举
枚举是一种特殊的类型,表示一组常量(不可更改的值)。
要创建枚举,使用 enum
关键字,后跟枚举的名称,并用逗号分隔枚举项:
enum Level {
LOW,
MEDIUM,
HIGH
};
请注意,最后一个项目不需要逗号。
不要求使用大写字母,但这通常被认为是良好实践。
Enum 是 "enumerations"(枚举)的缩写,意思是 "明确列出"。
要访问枚举,必须创建它的变量。
在 main()
方法中,指定 enum
关键字,后跟枚举的名称 (Level
),然后是枚举变量的名称 (本例中为 myVar
):
enum Level myVar;
现在您已经创建了一个枚举变量 (myVar
),您可以为其赋值。
赋的值必须是枚举内部的其中一个项 (LOW
, MEDIUM
或 HIGH
):
enum Level myVar = MEDIUM;
默认情况下,第一项 (LOW
) 的值为 0
,第二项 (MEDIUM
) 的值为 1
,依此类推。
如果您现在尝试打印 myVar,它将输出 1
,代表 MEDIUM
:
int main() {
// 创建一个枚举变量并为其赋值
enum Level myVar = MEDIUM;
// 打印枚举变量
cout << myVar;
return 0;
}
自己动手试一试 »
更改值
如您所知,枚举的第一项值为 0。第二项值为 1,依此类推。
为了使值更有意义,您可以轻松更改它们:
enum Level {
LOW = 25,
MEDIUM = 50,
HIGH = 75
};
int main() {
enum Level myVar = MEDIUM;
cout << myVar; // 现在输出 50
return 0;
}
自己动手试一试 »
请注意,如果您为某个特定项赋值,则后续项将相应地更新其编号:
enum Level {
LOW = 5,
MEDIUM, // 现在是 6
HIGH // 现在是 7
};
自己动手试一试 »
Switch 语句中的枚举
枚举通常用于 switch 语句中以检查相应的值:
enum Level {
LOW = 1,
MEDIUM,
HIGH
};
int main() {
enum Level myVar = MEDIUM;
switch (myVar) {
case 1
cout << "Low Level";
break;
case 2
cout << "Medium level";
break;
case 3
cout << "High level";
break;
}
return 0;
}
自己动手试一试 »
为什么以及何时使用枚举?
枚举用于为常量命名,这使得代码更易于阅读和维护。
当您拥有一组您知道不会改变的值时,请使用枚举,例如月份、星期几、颜色、一副牌等等。