- 列挙型は「定数の名前付きコレクション」です。
enum MyType_e {A, B, C};
- これらの定数は、列挙型の親スコープで宣言されます。つまり、列挙型がファイル スコープで宣言され、名前が付けられていない場合、一連の eg
#define A 0
ステートメント と同等です。 - 列挙型定数の基になる型は常に、
int
つまりint var = A
完全に合法ですvar
が、型ではありませんMyType_e
では、列挙名はどのような目的に役立つのでしょうか?
編集 以下のコメントによると、列挙型の私の理解にはかなり欠陥があるようです。列挙型は #define ステートメントとは関係ありません。 列挙型はコンパイル時に解決され、型付けされます。