Block scope c++ In Hindi
C++ प्रोग्रामिंग लैंग्वेज में ब्लॉक स्कोप किसी फंक्शन प्रोग्राम का वह इम्पोर्टेन्ट पोरशन या एलिमेंट होता है, जिसे एक कर्ली ब्रेसेज़ { } के पेअर में डिफाइन कर क्लोज किया जाता है. जिसमे कोई यूजर डिफाइन फंक्शन वेरिएबल, ऑब्जेक्ट आर्गुमेंट या कस्टम फ़ंक्शन पैरामीटर को डिफाइन किया जाता है, और उसे जरूरत के अनुसार एक्सेस और मैनेज किया जा सकता है। याद रहे, किसी फंक्शन कर्ली ब्रेसेस ब्लॉक के अंदर डिक्लेयर किया गया कोई भी पैरामीटर वेरिएबल सिर्फ़ उस फंक्शन ब्लॉक और उसके नेस्टेड ब्लॉक तक लिमिटेड और प्रीव्यू होता है। एक बार जब फंक्शन एग्ज़िक्यूशन ब्लॉक से एग्जिट हो जाता है, तो वेरिएबल अपने आप प्रोग्राम में टर्मिनेट हो जाता है, और फिर उसे प्रोग्राम में एक्सेस और मैनेज नहीं किया जा सकता है।

What can a function curly braces { } block contain?
- The body of a user-defined function program.
- An if statement expression.
- A for, while, or do-while loop repetition method.
- A switch statement (multiple choice).
- Any curly braces { } layout.
Special functions and features of block scope in C++ programming.
- किसी फंक्शन प्रोग्राम ब्लॉक के अंदर डिक्लेयर किए गए पैरामीटर वेरिएबल उस ब्लॉक के लिए लोकल और उसी में रिस्ट्रिक्टेड यूजेबल होते हैं।
- उन्हें मौजूदा कर्ली ब्रेसेज़ { } ब्लॉक के बाहर ग्लोबल वेरिएबल के रूप में एक्सेस और मैनेज नहीं किया जा सकता है।
- फंक्शन प्रोग्राम में डिक्लेअर ब्लॉक-स्कोप वाले पैरामीटर वेरिएबल को प्रोवाइड की गई मेमोरी कर्ली ब्रेसेज़ { } ब्लॉक टर्मिनेट होने पर आटोमेटिक रिलीज़ फ्री हो जाती है।
- जिसमे इनर कर्ली ब्रेसेज़ { } ब्लॉक एक्सटर्नल ब्लॉक के वेरिएबल को एक्सेस कर सकते हैं. जब तक कि वे समान नाम वाले वेरिएबल से हाइड नहीं किए गए हों।
- फंक्शन में कर्ली ब्रेसेज़ { } ब्लॉक स्कोप नेमिंग कॉन्फ़्लिक्ट इश्यूज को ब्लॉक और प्रोग्राम ऑर्गनाइज़ेशन को इम्प्रूव करने में हेल्प करता है।
Basic C++ curly braces { } block scope example.
#include <iostream>
using namespace std;
int main()
{
int p = 3;
{
int q = 7;
cout << “Element of p value is = ” << p << endl;
cout << “Element of q value is = ” << q << endl;
}
cout << “Element of p value is = ” << p << endl;
// cout << “Element of q value is = ” << q << endl; // Display Error – q variable is out of function block scope
return 0;
}
curly braces { } block scope explanation.
- यहाँ इस एक्साम्प्ल में p वेरिएबल को main() फंक्शन ब्लॉक में डिक्लेयर किया गया है, इस वजह से यह पूरे फंक्शन में एक्सेस और मैनेज किया जा सकता है।
- यहाँ इस प्रोग्राम में q वेरिएबल को इनर ब्लॉक के अंदर डिक्लेयर किया गया है, और यह सिर्फ़ उसी ब्लॉक में मौजूद या लिमिटेड यूज़ के लिए रिस्ट्रिक्टेड होता है।
- मौजूदा फंक्शन ब्लॉक के बाहर से q वेरिएबल को एक्सेस करने पर एक एरर डिस्प्ले होता है।
Example of curly braces { } in if statement.
#include <iostream>
using namespace std;
int main()
{
int integer = 11;
if (integer > 0)
{
int output = integer + 3;
cout << “The Output is = ” << output << endl;
}
// cout << “The Output is = ” << output << endl; // Display Error – output variable is out of function block scope
return 0;
}
Curly braces { } in if statement explanation.
- यहाँ इस एक्साम्प्ल में वेरिएबल Output, if ब्लॉक स्टेटमेंट के अंदर डिक्लेअर किया गया है, और इसे फंक्शन ब्लॉक के बाहर से यूज़ या एक्सेस नहीं किया जा सकता है।
Example of hiding (shadowing) a block variable.
#include <iostream>
using namespace std;
int main()
{
int p = 2;
{
int p = 1; // here we define a block Shadowing of outer p variable
cout << “Internal value of p block variable = ” << p << endl;
}
cout << “External Outer value of p block variable = ” << p << endl;
return 0;
}
Explanation of hiding (shadowing) a block variable.
- यहाँ इस एक्साम्प्ल में वेरिएबल इनर वेरिएबल p, एक आउटर वेरिएबल p को ब्लॉक के अंदर हाइड कर देता है। ब्लॉक स्कोप में इस प्रोसेस को वेरिएबल शैडोइंग के रूप में जाना जाता हैं।
Example of block scope in a for loop.
#include <iostream>
using namespace std;
int main()
{
for (int p = 0; p <= 9; p++)
{
cout << p << ” “;
}
// cout << p << ” “; // Display Error – p variable is out of function block scope
return 0;
}
Block scope in a for loop explanation.
- यहाँ इस एक्साम्प्ल में फॉर लूप में p वेरिएबल को सिर्फ़ for लूप के अंदर ही डिक्लेअर किया गया है, और यह इस ब्लॉक स्कोप फंक्शन में ही मौजूद होता है।
Benefits of block scope in C++ programming.
- कर्ली ब्रेसेज़ { } ब्लॉक स्कोप में यूजर डिफाइन फंक्शन वेरिएबल को उनके फिक्स्ड लोकल एरिया के एक्सटर्नल यूज़ मिस्टेक्स से होने वाले किसी भी प्रकार के मॉडिफिकेशन करने से ब्लॉक करता है।
- यह फंक्शन प्रोग्राम में मल्टीप्ल इंडिविजुअल ब्लॉक स्कोप में एक जैसे समान वेरिएबल नाम की परमिशन प्रोवाइड कर नेमिंग में होने वाले किसी भी इश्यूज या कन्फ्लिक्शन को कम करता है।
- फंक्शन प्रोग्राम में ब्लॉक स्कोप प्रोग्राम कोड की रीडेबिलिटी और मेंटेनेंस को इम्प्रूव करता है।
- ब्लॉक स्कोप मौजूदा प्रोग्राम की मेमोरी मैनेजमेंट को इम्प्रूव करता है, क्योंकि जब प्रोग्राम में किसी वेरिएबल की आवश्यकता नहीं रहती है. तो उन्हें उस प्रोग्राम में टर्मिनेट कर दिया जाता है।
- ब्लॉक स्कोप प्रोग्राम में वेरिएबल की विज़िबिलिटी को लिमिटेड या रिस्ट्रिक्टेड करके स्माल ब्लॉक में मॉड्यूलर प्रोग्रामिंग को सपोर्ट करता है।
Detail Explanation of Block Scope and Global Scope
| Each Feature | Block Scope concept | Global Scope concept |
| Declaration Location method | Block scope variable declares or defines Inside { } the curly braces | Global scope variable declares Outside of all inner functions |
| Accessibility type | Block scope variable Only use or work within the limited restricted block area | Global variable scope defines Throughout the outside program |
| Lifetime use | Block scope local variable is use until block execution ends | Global scope variable use lifetime entire program execution |
| Memory Release features | Local variable block scope memory release When block ends | Global variable global scope memory free at program termination |
Conclusion of Block Scope in C++.
ब्लॉक स्कोप C++ प्रोग्रामिंग में एक बेसिक वेरिएबल कर्ली ब्रेसेज़ { } प्रोग्राम रिस्ट्रिक्टेड यूज़ कॉन्सेप्ट है, जो यूजर डिफाइन प्रोग्राम वेरिएबल की विज़िबिलिटी को उस ब्लॉक या फंक्शन तक लिमिटेड या रिस्ट्रिक्टेड यूज़ करता है, जिसमें उन कर्ली ब्रेसेज़ { } वेरिएबल मेथड को डिक्लेयर किया गया है। कर्ली ब्रेसेज़ { } वेरिएबल डिक्लेरेशन किसी प्रोग्राम की सेफ्टी, रीडेबिलिटी, और मेमोरी मैनेजमेंट को इम्प्रूव करता है कि ब्लॉक स्कोप कर्ली ब्रेसेज़ { } में डिफाइन वेरिएबल का यूज़ सिर्फ़ वहीं किया जाए, जहाँ उनकी मौजूदा प्रोग्राम में आवश्यकता हो। एक बेहतर एफ्फिसिएंट और एरर-फ्री C++ प्रोग्राम क्रिएट करने के लिए आपको ब्लॉक स्कोप कांसेप्ट को जानना बहुत ज़रूरी है।
