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 ब्लॉक में है, लेकिन यह गलत है। यदि हम ब्रेसेस का उपयोग करते हैं, तो कोई समस्या नहीं है।