為什麼在 C/C++ 中省略大括號被認為是不好的實踐?


在 C++ 中,我們可以在 if-else 語句或任何迴圈之後省略大括號。如果我們不使用大括號,則 if-else 或迴圈後的只有一條語句會被認為屬於該程式碼塊。例如:

if(condition) {
   Line 1
   Line 2
}

if(condition)
Line 1
Line 2

在第一種情況下,Line1 和 Line2 都在 if 程式碼塊中。但在第二種情況下,Line1 在 if 程式碼塊中,但 Line2 不在 if 程式碼塊中。因此,只有當 if-else 或迴圈下只有一條語句時,我們才能省略大括號。

有時為了除錯目的,我們只是將一行程式碼註釋掉。透過這種方式,我們可以在沒有該語句的情況下檢查輸出結果的影響。這時,沒有大括號的 if-else 或迴圈會造成一些麻煩。例如:

if(condition) {
   Line 1
}
Line2

if(condition)
Line 1
Line 2

在這兩種情況下,Line1 都在 if 程式碼塊中,但 Line2 不在 if 程式碼塊中。因此,如果條件不滿足,或者滿足條件,Line2 將始終被執行。如果出於某些除錯目的,情況如下所示,則可能會產生一些問題。

if(condition)
//Line 1
Line 2

如果 Line1 被註釋掉,我們認為沒問題,但在這種情況下,編譯器認為 Line2 在 if 程式碼塊中,但這是錯誤的。如果我們使用大括號,就不會出現問題。

更新於:2019年7月30日

734 次瀏覽

開啟你的職業生涯

透過完成課程獲得認證

開始學習
廣告
© . All rights reserved.