C++ 中结构体与枚举类型的深入解析
1. 枚举类型的基本使用
1.1 枚举变量赋值规则
枚举类型的变量可以被赋予枚举声明中列出的任何值。例如,定义了枚举类型 DAYENUM
,变量 day1
和 day2
可以被赋值为 Mon
和 Thu
等声明中存在的值。但不能使用声明中未列出的值,像 day1 = halloween;
这样的语句是非法的。
1.2 枚举类型的运算
枚举类型可以使用标准算术运算符和比较运算符。例如,通过减法运算可以计算两个枚举值之间的差值。以下是一个示例程序的输出:
Days between = 3
day1 comes before day2
不过,并非所有枚举类型使用算术和关系运算符都有意义。比如,对于 enum pets { cat, dog, hamster, canary, ocelot };
, dog + canary
或 (cat < hamster)
这样的表达式含义并不明确。
1.3 枚举类型的内部表示
枚举类型在内部被视为整数。通常,枚举列表中的第一个名称被赋予值 0,后续名称依次递增。例如,在 DAYENUM
示例中, Sun