一般的に、値を設定し、コンパイラーが次の値を前のメンバー値+ 1に設定したままenum { A = 1, B = 2, C = 3, ... }
にする特別な理由があるA
と思いますか、それともこのプログラマーはコードをより読みやすくしようとしているのでしょうか。
質問する
79 次
1 に答える
5
これは文体の問題です。値を指定することは、アプリケーションが各列挙型がとる特定の値を気にすることを示します。おそらく、公開された標準を実装するため、またはインターフェイスが特定の整数を指定する他のアプリケーションとの相互運用性のために使用されるためです。
仕様の値がたまたま連続している場合でも、明示的に入力することをお勧めします。それらを除外すると、メンバーを間違った順序で入力したり、後で誰かがリストの中央にメンバーを挿入したりすると、エラーが発生する可能性が高くなります。
一方、特定の値が何であるかを気にせず、コンパイラが各列挙型メンバーに任意の一意の値を割り当てる必要がある場合は、値を省略して、コンパイラに自動的に割り当てさせます。これは、アプリケーション内で内部的に使用される列挙型に適しています。
于 2013-01-04T02:27:45.053 に答える