2

一般的に、値を設定し、コンパイラーが次の値を前のメンバー値+ 1に設定したままenum { A = 1, B = 2, C = 3, ... }にする特別な理由があるAと思いますか、それともこのプログラマーはコードをより読みやすくしようとしているのでしょうか。

4

1 に答える 1

5

これは文体の問題です。値を指定することは、アプリケーションが各列挙型がとる特定の値を気にすることを示します。おそらく、公開された標準を実装するため、またはインターフェイスが特定の整数を指定する他のアプリケーションとの相互運用性のために使用されるためです。

仕様の値がたまたま連続している場合でも、明示的に入力することをお勧めします。それらを除外すると、メンバーを間違った順序で入力したり、後で誰かがリストの中央にメンバーを挿入したりすると、エラーが発生する可能性が高くなります。

一方、特定の値が何であるかを気にせず、コンパイラが各列挙型メンバーに任意の一意の値を割り当てる必要がある場合は、値を省略して、コンパイラに自動的に割り当てさせます。これは、アプリケーション内で内部的に使用される列挙型に適しています。

于 2013-01-04T02:27:45.053 に答える