これはちょっと変わった質問かもしれませんが、私は本当にこれよりもフレーズをどのようにするかわかりません。C++で括弧付きのenum/enumクラスを呼び出すとどうなりますか?
私はちょうど私が次の操作を行うことができますことを発見:
#include <iostream>
enum class Colour // also works with plain old enum
{
Red = 1,
Green,
Blue,
Yellow,
Black,
White
};
int main()
{
Colour c = Colour(15); // this is the line I don't quite understand
std::cout << static_cast<int>(c) << std::endl; // this returns 15
return 0;
}
だから今、私はタイプColour
の変数に整数値15を持っています。
ここでは正確に何が起こっていますか?その仕事の列挙型の "コンストラクタ"のいくつかの種類ですか?私の知る限り、整数値15は列挙されません。変数c
に格納されます。なぜ、そのようなものが、最初はenumに存在しない値を作成するのに便利なのでしょうか?
これはCスタイルのキャスト '(Color)15 'を書くもう一つの方法です。 – cpplearner