9

あるC++コーディングスタイルガイドで、1つの特定の推奨事項(41ページ、推奨番号53)を見つけました。

0 == i常に左側に(ではなく)非左辺値を設定しi == 0ます。

そして、私はこれが何のために良いのか理解していませんか?この慣習に固執するのですか?

私はそうではなく、なぜ彼が良い習慣なのかわかりません。私が考えることができる唯一の利点は、比較(if (foo = 0){}if (foo == 0){})で意図しない割り当てを間違えないようにすることです

他に何かアイデアがありますか?なぜそれを使用する必要がありますか?

4

2 に答える 2

14

はい、あなたはそれを正しく推測しました。古き良きヨーダ記法です!!!

ここに画像の説明を入力してください

于 2012-04-09T16:55:46.683 に答える
3

=あなたが言うように、一部の人々がそれを使用する理由は、時々彼らが意味するときにタイプするのを避けるため==です.

左辺値を定数または右辺値と比較しているいくつかのケースのみをキャッチし、私が知っているすべてのコンパイラは、その間違いを犯した場合に警告するため、それを行う意味はほとんどありません。

少なくとも英語を母国語とする人にとっては、コードが逆に書かれているように見えます。だから「ヨーダ状態」と呼ぶ人もいます。企業のスタイル ガイドの多くのルールと同様に、このルールは、読みやすいコードを書くことよりも、厳しいコンパイラに対処することが優先されていた時代にさかのぼります。

于 2012-04-09T17:09:57.123 に答える