列挙型を stringに簡単に変換するソリューションはありますが、 を使用することによる安全上の利点がさらに欲しいと思いenum class
ます。を文字列に変換する簡単な方法はありenum class
ますか?
(列挙型クラスは配列にインデックスを付けることができないため、指定されたソリューションは機能しません)。
列挙型を stringに簡単に変換するソリューションはありますが、 を使用することによる安全上の利点がさらに欲しいと思いenum class
ます。を文字列に変換する簡単な方法はありenum class
ますか?
(列挙型クラスは配列にインデックスを付けることができないため、指定されたソリューションは機能しません)。
基になる型に暗黙的に変換することはできませんが、明示的に行うことはできます。
enum class colours : int { red, green, blue };
const char *colour_names[] = { "red", "green", "blue" };
colours mycolour = colours::red;
cout << "the colour is" << colour_names[static_cast<int>(mycolour)];
それが冗長すぎるかどうかはあなた次第です。
VS C++ を使用していますか。MSDNのコード例の下
using namespace System;
public ref class EnumSample
{
public:
enum class Colors
{
Red = 1,
Blue = 2
};
static void main()
{
Enum ^ myColors = Colors::Red;
Console::WriteLine( "The value of this instance is '{0}'", myColors );
}
};
int main()
{
EnumSample::main();
}
/*
Output.
The value of this instance is 'Red'.
*/