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

C++の列挙型(enum)の使い方をわかりやすく解説

列挙型(enum)とは

列挙型は、C/C++言語におけるユーザー定義型の一つです。整数定数に分かりやすい名前を付けるために使用され、プログラムの可読性と保守性を大きく向上させます。列挙型を宣言するには、キーワード「enum」を使用します。

列挙型の基本構文

enumの基本的な書式は以下の通りです。

enum 列挙型名{定数1, 定数2, ....... };

各要素の意味は次のようになります。

列挙型名 − ユーザーが自由に付けることのできる任意の名前です。

定数1、定数2 − 列挙型に含まれる識別子(値)です。

列挙型変数の定義方法

enumキーワードは、列挙型の変数を定義する際にも使用できます。主な定義方法は以下の2通りです。

enum colors{red, black};
enum suit{heart, diamond=8, spade=3, club};

サンプルコード

以下に、列挙型の実際の使用例を示します。

#include <iostream>
using namespace std;
enum colors{red=5, black};
enum suit{heart, diamond=8, spade=3, club};
int main() {
   cout <<"列挙型colorsの値:"<<red<<","<<black;
   cout <<"\n列挙型suitのデフォルト値:"<<heart<<","<<diamond<<","<<spade<<","<<club;
   return 0;
}

実行結果

列挙型colorsの値:5,6
列挙型suitのデフォルト値:0,8,3,4

コードの解説

上記のプログラムでは、main()関数の外側で「colors」と「suit」という2つの列挙型を宣言しています。

enum colors{red=5, black};
enum suit{heart, diamond=8, spade=3, club};

main()関数内では、各列挙要素の値をcoutで出力しています。

cout <<"列挙型colorsの値:"<<red<<","<<black;
cout <<"\n列挙型suitのデフォルト値:"<<heart<<","<<diamond<<","<<spade<<","<<club;

値の割り当てルール

実行結果から、列挙型の値の決まり方を確認できます。「red」には明示的に5が指定されているため、その次の「black」は自動的に6になります。一方、「suit」では先頭の「heart」に初期値を指定していないため0となり、「diamond」は8、「spade」は3、「club」は直前のspadeの値に1を加えた4として扱われます。つまり、値を省略した要素は「直前の要素の値+1」が自動的に割り当てられるというルールがあります。

  1. AndroidのSQLiteでMEDIUMTEXT型の値を扱う方法をわかりやすく解説

    AndroidにおけるSQLiteデータベースとは具体的な実装例に入る前に、AndroidにおけるSQLiteデータベースについて簡単に確認しておきましょう。SQLiteはオープンソースのSQLデータベースで、デバイス上のテキストファイルにデータを保存します。Androidには標準でSQLiteデータベースの実装が組み込まれており、リレーショナルデータベースの機能をすべてサポートしています。また、JDBCやODBCのような接続設定を行う必要がなく、手軽にデータベースへアクセスできる点も大きな特徴です。本記事では、AndroidのSQLiteでMEDIUMTEXT型の値を使用する方法を、サンプル

  2. AndroidのSQLiteでLONGTEXT型の値を扱う方法を徹底解説

    AndroidにおけるSQLiteデータベースとは具体的な手順に入る前に、AndroidにおけるSQLiteデータベースの基本をおさらいしておきましょう。SQLiteは、デバイス上のテキストファイルにデータを保存できるオープンソースのSQLデータベースです。Androidには標準でSQLiteの実装が組み込まれており、リレーショナルデータベースの主要な機能をすべて利用できます。また、JDBCやODBCのように接続を確立する必要がないため、手軽にローカルデータベースとして扱えるのも大きな特徴です。本記事では、AndroidのSQLiteでLONGTEXT型の値を保存・操作する方法を、実際のサンプ