為什麼在 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 程式碼塊中,但這是錯誤的。如果我們使用大括號,就不會出現問題。
廣告
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP