ใน C++ เราสามารถละเลย curly braces หลัง if-else statements หรือหลัง loop ใดๆ ได้ หากเราไม่ใช้ curly braces จะมีเพียงคำสั่งเดียวหลัง if-else หรือ loop ที่ถูกนับว่าอยู่ในบล็อกนั้น ตัวอย่าง -
if(condition) {
Line 1
Line 2
}
if(condition)
Line 1
Line 2
ในกรณีแรก Line1 และ Line2 ทั้งคู่อยู่ใน if block แต่ในกรณีที่สอง Line1 อยู่ใน if block แต่ Line2 ไม่อยู่ใน if block ดังนั้นเราสามารถละเลย curly braces ได้ก็ต่อเมื่อมีคำสั่งเดียวภายใต้ if-else หรือ loop
บางครั้งเพื่อการ debug เราแค่ comment บรรทัดหนึ่ง ใช้วิธีนี้ตรวจสอบผลลัพธ์โดยไม่มีคำสั่งนั้น ในขณะนั้น if-else หรือ loops ที่ไม่มี braces จะทำให้เกิดปัญหา ตัวอย่าง -
if(condition) {
Line 1
}
Line2
if(condition)
Line 1
Line 2
ที่นี่ทั้งสองกรณี Line1 อยู่ใน if block แต่ Line2 ไม่อยู่ใน if block ดังนั้นถ้าเงื่อนไขล้มเหลว หรือเป็นจริง Line2 จะถูกรันเสมอ ตอนนี้ถ้าสถานการณ์เป็นแบบด้านล่างเพื่อการ debug แล้วอาจก่อให้เกิดปัญหา
if(condition)
//Line 1
Line 2
ถ้า Line1 ถูก comment เราคิดว่ามันโอเค แต่ในกรณีนี้ คอมไพเลอร์คิดว่า Line2 อยู่ใน if block ซึ่งผิด ถ้าเราใช้ braces จะไม่มีปัญหา