switch 語句中的列舉

列舉器的常見用途是用於 switch 語句,因此它們通常出現在狀態機中。事實上,帶列舉的 switch 語句的一個有用特性是,如果交換機不包含預設語句,並且並未使用列舉的所有值,則編譯器將發出警告。

enum State {
    start,
    middle,
    end
};

...

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