enum変数のデフォルト値は何ですか? 質問する

enum変数のデフォルト値は何ですか? 質問する

列挙変数は、常に最初の要素にデフォルト設定されるかどうかご存知ですか?

ベストアンサー1

列挙体のどのメンバーが値を表すかです0。具体的には、ドキュメンテーション:

のデフォルト値は、enum E式 によって生成された値です(E)0

例として、次の列挙型を見てみましょう。

enum E
{
    Foo, Bar, Baz, Quux
}

デフォルト値を上書きせずに印刷すると、最初に出現する要素であるためdefault(E)戻ります。Foo

ただし、列挙型の最初のメンバーによって表されるとは限りません0。たとえば、次のようにすると:

enum F
{
    // Give each element a custom value
    Foo = 1, Bar = 2, Baz = 3, Quux = 0
}

印刷すると、 ではなく がdefault(F)提供されます。QuuxFoo

列挙型内のどの要素もG次に対応しない場合0:

enum G
{
    Foo = 1, Bar = 2, Baz = 3, Quux = 4
}

default(G)は文字通り を返します0が、その型は のままですG(上記のドキュメントで引用されているように、指定された列挙型へのキャスト)。

おすすめ記事