switch 语句中的枚举

枚举器的常见用途是用于 switch 语句,因此它们通常出现在状态机中。事实上,带枚举的 switch 语句的一个有用特性是,如果交换机不包含默认语句,并且并未使用枚举的所有值,则编译器将发出警告。

enum State {
    start,
    middle,
    end
};

...

switch(myState) {
    case start:
       ...
    case middle:
       ...
} // warning: enumeration value 'end' not handled in switch [-Wswitch]