「(bCondition == NULL)」と「(NULL == bCondition)」の区別
さまざまなプログラミング コンテキスト、特に次の場合MSDN リソースを参照すると、一見互換性があるように見える 2 つの条件式に遭遇することがあります: '(bCondition == NULL)」および「(NULL == bCondition)」。一見すると同等に見えますが、潜在的なタイプミスを処理するときの動作には微妙な違いがあります。
変数を NULL と比較する場合、エラーを改善するために '(NULL == bCondition)' を使用することをお勧めします。比較演算子「==」の代わりに代入演算子「=」を誤って配置し間違えた場合の検出。次の例を考えてみましょう:
コード:
if (bCondition = NULL) // Typos { // Code never executes }
この例では、'=' (代入) が誤って '= の代わりに使用されているというタイプミスが発生しています。 =' (比較)。これにより、代入演算子が比較ではなく NULL を「bCondition」に代入するため、条件文は常に「false」と評価されます。その結果、ブロック内のコードは決して実行されません。
一方、代わりに '(NULL == bCondition)' を使用すると、
コード:
if (NULL = bCondition) // Error { // ... }
この場合、コンパイラはタイプミスを検出し、NULL の代入が無効であることを示すエラーを発行します。 bCondition は無効な操作です。このエラー検出は、予期しないプログラムの動作につながる可能性のある偶発的な割り当てに対する保護手段として機能します。
したがって、NULL で条件をチェックする場合は、より堅牢な表記法 '(NULL == bCondition)' を使用することを一般的に推奨します。タイプミスがあった場合のエラー処理。
以上がC/C ではなぜ `(NULL == bCondition)` が `(bCondition == NULL)` よりも優先されるのでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。