.net column
.NET開発者のためのブログメディア

C++でのenum(列挙型)の使い方とは?class指定方法や文字列変換方法を紹介!

 
C++でのenum(列挙型)の使い方とは?class指定方法や文字列変換方法を紹介!
SE
enumの使い方が知りたいです。
PM
enumの基本的な使い方やclass指定などを詳しく見ていきましょう。

C++でのenum(列挙型)の使い方とは?


今回は、C++でのenum(列挙型)の使い方について説明します。

ここでは、以下について紹介します。

・基本的な使い方
・class指定
・文字列変換
・繰り返し処理

C++でのenum(列挙型)の使い方に興味のある方はぜひご覧ください。

基本的な使い方

C++でのenumの基本的な使い方を紹介します。

実際のソースコードを見てみましょう。

実行結果は以下のようになります。数値を指定しなければ、0からインクリメントされて採番されます。

値を指定したい場合は、以下のように記述することもできます。

この場合は、1からインクリメントされて採番されます。実行結果は以下のようになります。

少し特殊ですが、以下のように指定することもできます。この場合、指定した数値からインクリメントされていきます。

実行結果は以下のようになります。指定した数値からインクリメントされていることが分かります。

C++のenumはこのように使います。

class指定

C++でのenum classの使い方を紹介します。実際のソースコードを見てみましょう。
num はintとして扱われるため、以下のように代入できてしまい、型安全ではなく危険性がありました。

実行結果は以下のようになります。代入できてしまっていることが分かります。

これに対して、enum class であれば、コンパイルエラーになるので、危険性を回避できます。

この場合、以下のようなコンパイルエラーが発生します。

C++でのenum classの使い方を紹介しました。

文字列変換

C++でのenumの列挙定数を文字列に変換する方法を紹介します。実際のソースコードを見てみましょう。マクロの引数を文字列リテラルに置換するマクロ関数を使用します。

実行結果は以下のようになります。列挙定数が文字列に変換されていることが分かります。

このように、C++ではenumの列挙定数を文字列に変換できます。

繰り返し処理

C++でのenum要素の繰り返し方法を紹介します。実際のソースコードを見てみましょう。operator ++を実装する必要があります。

実行結果は以下のようになります。この場合、連続する数値の場合のみ対応可能です。

enumの要素数分繰り返し処理が行えていることが分かります。

SE
enumは他にも、文字列変換や繰り返し処理もできるのですね。
PM
実際に自分でコードを書いてenumを覚えてみましょう。

まとめ

いかがでしたでしょうか。C++でのenumの使い方について説明しました。
enumの基本的な使い方から、class指定方法や文字列変換方法、繰り返し処理について紹介しました。

ぜひご自身でソースコードを書いて、理解を深めてください。


.NET分野でのキャリアアップをお考えの方は、現在募集中の求人情報をご覧ください。

また、直接のエントリーも受け付けております。

エントリー(応募フォーム)

Search

Popular

reccomended

Categories

Tags