C ++列挙型を文字列にマップする方法は?
ここでは、いくつかの列挙型データをC++の文字列にマップする方法を説明します。そうするためのそのような直接的な機能はありません。ただし、列挙型を文字列に変換する独自の関数を作成できます。
引数として列挙型の値をとる関数を作成し、その関数から列挙型の名前を文字列として手動で返します。
サンプルコード
#include <iostream> using namespace std; enum Animal {Tiger, Elephant, Bat, Dog, Cat, Mouse}; string enum_to_string(Animal type) { switch(type) { case Tiger: return "Tiger"; case Elephant: return "Elephant"; case Bat: return "Bat"; case Dog: return "Dog"; case Cat: return "Cat"; case Mouse: return "Mouse"; default: return "Invalid animal"; } } int main() { cout << "The Animal is : " << enum_to_string(Dog) << " Its number: " << Dog <<endl; cout << "The Animal is : " << enum_to_string(Mouse) << " Its number: " << Mouse << endl; cout << "The Animal is : " << enum_to_string(Elephant) << " Its number: " << Elephant; }
出力
The Animal is : Dog Its number: 3 The Animal is : Mouse Its number: 5 The Animal is : Elephant Its number: 1
-
C ++の関数から配列を返す方法は?
C ++は配列全体を返すわけではありませんが、配列へのポインタを返すことはできます。関数外では、ローカル変数のアドレスを返すことはできません。ローカル変数を静的にすることで、ローカル変数のアドレスを返すことができます。 ポインタを返す構文は次のとおりです。 int * function_name() { body } ここで function_name −ユーザーが指定した関数の名前。 以下は、関数から配列を返す例です。 例 #include <iostream> using namespace std; int * ret() { stati
-
C ++で列挙型を使用する方法は?
列挙型は、C /C++言語でのユーザー定義のデータ型です。これは、積分定数に名前を割り当てるために使用され、プログラムの読み取りと保守を容易にします。キーワード「enum」は、列挙を宣言するために使用されます。 以下は列挙型の構文です。 enum enum_name{const1, const2, ....... }; ここで enum_name −ユーザーが付けた名前。 const1、const2 −これらはタイプフラグの値です。 enumキーワードは、enumタイプの変数を定義するためにも使用されます。列挙型の変数を次のように定義する2つの方法があります- enum co