C++
 Computer >> コンピューター >  >> プログラミング >> C++

C++の列挙型(enum)とは?基本的な使い方をわかりやすく解説

列挙型(enumerated type、enum)とは、省略可能な型名と、その型の値として使用できる0個以上の識別子(列挙子)の集合を宣言するためのデータ型です。各列挙子は定数であり、その型は列挙型そのものになります。

列挙型が役立つ場面

変数が取りうる値があらかじめ決まっている場合、列挙型は非常に便利です。例として「性別」を考えてみましょう。性別には「男性(MALE)」「女性(FEMALE)」「その他(OTHERS)」といった限られた種類しかありません。このような場合は、enumを使って以下のように定義・利用できます。

#include<iostream>
using namespace std;

enum Gender {MALE, FEMALE, OTHERS};

int main() {
    Gender gen = Gender::FEMALE;
    return 0;
}

列挙子に割り当てられる値

デフォルトでは、最初の識別子には0、2番目には1、3番目には2というように、先頭から順に整数値が自動的に割り当てられます。必要に応じて、列挙子ごとに任意の値を明示的に指定することも可能です。

enumの本質は「シンボル」としての意味

ただし、実際の数値自体はそれほど重要ではありません。enumは本来、値に象徴的な意味を持たせるために使われるものだからです。プログラム内でenumを比較する際も、実際の数値ではなく、そのシンボルとしての意味を利用します。これによりコードの可読性が向上し、いわゆるマジックナンバーの使用を避けることにもつながります。

  1. C言語の列挙型(enum)とは?定義方法と使い方を実例付きで解説

    列挙型(enumerated data type)は、プログラマが独自のデータ型を作成し、そのデータ型を持つ変数が取りうる値を明確に定義するために使用される仕組みです。宣言にはenumというキーワードを使用します。列挙型を使うことで、曜日や月などの関連する定数群に名前を付けられ、コードの可読性と保守性が向上します。構文列挙型の基本的な構文は以下の通りです。enum タグ名{   識別子1, 識別子2,……,識別子n};記述例以下は、曜日を表す列挙型の定義例です。enum week{   mon, tue, wed, thu,

  2. C言語の基本データ型を徹底解説!int・char・floatの種類とサイズ一覧

    C言語の基本データ型とは? C言語のコンパイラがサポートする基本データ型は、大きく分けて次の4つです。 整数型(Integer) 文字型(Character) 浮動小数点型(Floating-point) 倍精度浮動小数点型(Double precision floating point) プログラムで扱う値の種類(整数・文字・実数など)に応じて適切な型を選ぶことは、正確で効率的なコードを書くための第一歩です。なお、各データ型のサイズや表現できる値の範囲は、使用するコンパイラや実行環境によって異なる場合がある点に注意してください。 整数型(Integral Data Type) 整数型は