Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> C++

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

  1. - C/C++ में ऐरे इंडेक्स शून्य से क्यों शुरू होता है?

    चूंकि ऐरे इंडेक्स 0 से शुरू होता है, इसलिए a[i] को *(a + i) के रूप में इम्प्लीमेंट किया जा सकता है। यदि ऐरे इंडेक्स 1 से शुरू होता तो a[i] को *(a+i-1) के रूप में इम्प्लीमेंट किया जाता जो कंपाइलेशन के दौरान समय लेने वाला होगा और प्रोग्राम के प्रदर्शन पर भी प्रभाव पड़ेगा। इसलिए, ऐरे के इंडेक्स को 0

  1. - C/C++ में ऐरे इंडेक्स शून्य से क्यों शुरू होता है?

    एक ऐरे arr[i] को *(arr+i) के रूप में इंटरप्रेट किया जाता है। यहां, arr ऐरे के पहले एलिमेंट या 0 इंडेक्स एलिमेंट के एड्रेस को दर्शाता है। तो *(arr+i) का अर्थ ऐरे के पहले एलिमेंट से i दूरी पर एलिमेंट है। इसलिए ऐरे इंडेक्स 0 से शुरू होता है क्योंकि प्रारंभ में i 0 है जिसका अर्थ ऐरे का पहला एलिमेंट है।

  1. C++ में लाइन रिफ्लेक्शन - Y-अक्ष के समानांतर सममित रेखा जांचें C++ में लाइन रिफ्लेक्शन - Y-अक्ष के समानांतर सममित रेखा जांचें

    समस्या विवरण मान लीजिए हमारे पास 2D तल पर n बिंदु हैं, हमें जांचना है कि क्या y-अक्ष के समानांतर कोई रेखा है जो दिए गए बिंदुओं को सममित रूप से प्रतिबिंबित करती है, दूसरे शब्दों में, जांचें कि क्या कोई ऐसी रेखा मौजूद है जो सभी बिंदुओं को दी गई रेखा पर प्रतिबिंबित करने के बाद मूल बिंदुओं का समुच्चय प