c-lang:列挙型
enum (列挙指定子)
enum を使用することで「定数値を特定の単語に置き換える」ことができる。
これは、#define や const int とほぼ同じ機能だが、これらと違い「メンバ変数のような形で 定数値を作れる」というメリットがある。
つまり、enum を用いると、 複数の数字に一意な「名前」を 付ける事が出来る。
enum と defineとの違い
大量の数字に名前を順番に付けたい場合、define では 人間が1つ1つ割り当てなければ ならない。
enum では、 コンパイラが自動的に数字を割り当てるので、重複を気にする事なく使用できる。
define 文では、数字と名前の対応付けは人間が管理しなければならないが、enum 文では任せてしまえる。
プログラム中に、直接に数字(マジックナンバー)を書く事は良い事ではないので、 enum を用いて、名前で使うように心がけたほうがよい。
enum の使い方
enum を使う場合は、次の 3段階が必要である。
定義
まず、目的の enum 型を作る。
enum 型の宣言は、
code:cpp
enum 型の名前 {名前1、名前2 ....};
という形を取る。
宣言
上記のように定義した後、普通の変数と同じように宣言しなければならない。
使用
宣言された変数は使う事が出来る。