列挙型
列挙 型のデータは特定の限定されたセットに属します。下記が列挙型の定義です。
enum 列挙型名
|
値のリストは、コンマで区切られた名前付き定数の識別子のリストです。
例:
enum months // 名前付き定数の列挙
|
列挙の宣言後、新しい 4 バイトの整数値を持つデータ型が出現します。列挙は新しい名前付き定数を導入するため、新しいデータ型の宣言によって、コンパイラは渡されたパラメータの型を厳密に制御するようになります。上記の例では、January と名付けられた定数が 0、February が 1、December が 11 です。
規則:列挙型のメンバである名前付き定数に 特定の値が割り当てられていない場合は、新しい値が自動的に形成されることになります。それが列挙体の最初のメンバである場合、0 の値が割り当てられます。後続するメンバの全ての値は、前のメンバの値に 1 を足すことによって計算されます。
例:
enum intervals // 名前付き定数の列挙
|
注意事項
- C++とは異なり、MQL5 での列挙型の内部表現のサイズは常に 4 バイトです。つまり、sizeof(月の名称)は 4 を返します。
- C++とは異なり、MQL5 では匿名の列挙は宣言することは出来ません。つまり、enum キーワードの後に常に一意の名称を指定する必要があります。
参照