4

私はに傾くだろう

if (object == nil)

しかし、いくつかのチュートリアルでの使用に気づきました

if (nil == object)

これは単なるスタイルの問題ですか、それともどちらかの形式を使用する正当な理由がありますか?

4

2 に答える 2

10

これは通常、比較演算子の代わりに代入演算子を使用しないようにするために行われます。たとえば、誤ってこれを入力した場合:

if (object = nil)

コンパイルできるかもしれませんが、意図したものではありません。

2 番目の形式を使用することで、代入の左オペランドとして nil を使用できないため、タイプを間違えた場合にコンパイル時エラーが確実に発生します。

私は客観的な C プログラマーではないことに注意してください。ただし、この質問は多くの言語に共通です。

于 2010-06-16T12:29:14.010 に答える
2

if (nil == object)== の代わりに = を誤って入れてしまった場合に備えて、このバージョンの方が適切に保護されます。

于 2010-06-16T12:28:04.787 に答える