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

सी/सी++ में घुंघराले ब्रेसिज़ को छोड़ना एक बुरा अभ्यास क्यों माना जाता है?

C++ में हम if-else स्टेटमेंट्स के बाद या किसी लूप के बाद कर्ली ब्रेसेस को छोड़ सकते हैं। यदि हम घुंघराले ब्रेसिज़ का उपयोग नहीं करते हैं तो उस ब्लॉक के तहत if-else या लूप के बाद केवल एक स्टेटमेंट पर विचार किया जाएगा। उदाहरण के लिए -

if(condition) {
   Line 1
   Line 2
}

if(condition)
Line 1
Line 2

पहले मामले में, लाइन 1 और लाइन 2 दोनों अगर ब्लॉक में हैं। लेकिन दूसरी स्थिति में, लाइन 1 अगर ब्लॉक में है लेकिन लाइन 2 अगर ब्लॉक में नहीं है। इसलिए हम घुंघराले ब्रेसिज़ को छोड़ सकते हैं, केवल if-else या लूप के अंतर्गत एक ही स्टेटमेंट होता है।

कभी-कभी डिबगिंग के उद्देश्य से हम सिर्फ एक लाइन कमेंट करते हैं। इसका उपयोग करके हम उस कथन के बिना आउटपुट के प्रभाव की जांच करते हैं। उस समय में if-else या बिना ब्रेसिज़ के लूप कुछ परेशानी पैदा करते हैं। उदाहरण के लिए -

if(condition) {
   Line 1
}
Line2

if(condition)
Line 1
Line 2

यहां दोनों मामलों में, लाइन 1 अगर ब्लॉक में है लेकिन लाइन 2 अगर ब्लॉक में नहीं है। तो अगर शर्त विफल हो जाती है, या यह लाइन 2 को संतुष्ट करती है तो हमेशा निष्पादित की जाएगी। अब अगर कुछ डिबगिंग उद्देश्य के लिए स्थिति नीचे की तरह है, तो यह कुछ समस्याएं उत्पन्न कर सकती है।

if(condition)
//Line 1
Line 2

यदि लाइन 1 पर टिप्पणी की जाती है, तो हम सोचते हैं कि यह ठीक है, लेकिन इस मामले में, कंपाइलर सोचता है कि लाइन 2 अगर ब्लॉक में है, लेकिन यह गलत है। यदि हम ब्रेसिज़ का उपयोग करते हैं, तो कोई समस्या नहीं है।


  1. सी/सी++ सरणी सूचकांक शून्य से क्यों शुरू होता है?

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

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

    एक सरणी arr[i] की व्याख्या *(arr+i) के रूप में की जाती है। यहाँ, arr पहले सरणी तत्व या 0 अनुक्रमणिका तत्व के पते को दर्शाता है। तो *(arr+i) का अर्थ है सरणी के पहले तत्व से i दूरी पर मौजूद तत्व। तो सरणी अनुक्रमणिका 0 से शुरू होती है क्योंकि प्रारंभ में i 0 है जिसका अर्थ है सरणी का पहला तत्व। एक प्रो

  1. C++ . में रेखा परावर्तन

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