可能重複:
What is the difference between these (bCondition == NULL) and (NULL==bCondition)?適當的形式在C++
從this question它說: 「在比較左側const對象」 是比其他做一些如何 「更好」。爲什麼是這樣?
可能重複:
What is the difference between these (bCondition == NULL) and (NULL==bCondition)?適當的形式在C++
從this question它說: 「在比較左側const對象」 是比其他做一些如何 「更好」。爲什麼是這樣?
任何體面的編譯器都會在條件表達式中警告你有關賦值的問題,因此這些表單現在並不相關。
在另一點上「使用無符號的變量是> = 0 //好的技巧」我聽說使用unsigned可能會引起混淆,除非有原因,否則不應該使用。有沒有人同意或反駁這個?
使用unsigned
時的值應該是unsigned
。
這是爲了避免「=」與「==」的錯誤。如果你的意思是「==」,但是輸入「=」並且LHS上的對象是常量,編譯器會發出抱怨。例如,
if (3 == x)
最好
if (x == 3)
,因爲如果你鍵入
if (3 = x)
,那麼你會得到一個錯誤,但如果你鍵入
if (x = 3)
那麼你可能會得到一個錯誤!
說'如果(5 == i)'沒有那麼多使用。它應該停止說錯,如果(我= 5)'錯誤。有時被稱爲「尤達條件」。一頁和其他一些[這裏是](http://www.dodgycoder.net/2011/11/yoda-conditions-pokemon-exception.html)。 – chris
Google適用於:「Yoda條件」 – Mysticial
Yoda條件現在通常被認爲是不好的做法,因爲它們的可讀性較差,大多數編譯器無論如何都會對分配提出警告。 – ssube