Static variables c++ In Hindi
C++ प्रोग्रामिंग लैंग्वेज में एक यूजर डिफाइन डिक्लेअर स्टैटिक वेरिएबल एक तरह का कांस्टेंट प्रोग्राम वेरिएबल होता है. जो मौजूदा प्रोग्राम में फंक्शन कॉल के समय या मल्टीप्ल टाइम यूज़ या एक्सेस करने पर अपनी स्टैटिक वेरिएबल फंक्शन वैल्यू को मेन्टेन करता है. लेकिन स्टैटिक पैरामीटर का स्कोप या बिहेवियर उस डिफाइन फंक्शन, ब्लॉक या क्लास तक ही लिमिटेड रिस्ट्रिक्टेड बना रहता है, जिस फंक्शन मेथड में स्टैटिक पैरामीटर को डिक्लेयर या डिफाइन किया गया है। फंक्शन में डिक्लेअर स्टैटिक पैरामीटर या तो लोकल (किसी मौजूदा फंक्शन या ब्लॉक के अंदर डिक्लेअर) या ग्लोबल (किसी मौजूदा फंक्शन या क्लास के main फंक्शन के बाहर डिक्लेयर किए गए) यूनिवर्सल रूप से मैनेज या एक्सेस किये जा सकते हैं. स्टैटिक वेरिएबल का स्पेशल यूनिक फीचर्स यह है कि स्टैटिक पैरामीटर प्रोग्राम के लाइफटाइम एक्सेक्यूशन तक अपनी वैल्यू को मैनेज और मेन्टेन करते हैं।

Special Functions and Features of Static Variables in the C++ Programming.
- Persistence of value – C++ प्रोग्राम में रेगुलर लोकल वेरिएबल डिक्लेरेशन के अगेंस्ट, स्टैटिक वेरिएबल हर बार किसी मौजूदा फंक्शन के कॉल करने पर अपने आप रीइनिशियलाइज़ हो जाते हैं. याद रहे, C++ प्रोग्राम में डिक्लेअर एक स्टैटिक पैरामीटर वेरिएबल फंक्शन कालिंग के समय अपनी वैल्यू को कांस्टेंट मेन्टेन करता है।
- Scope – C++ प्रोग्राम में डिक्लेअर एक स्टैटिक वेरिएबल का यूज़ पर्पस या स्कोप उस डिक्लेअर ब्लॉक या फंक्शन तक ही रिस्ट्रिक्टेड बना रहता है. जिस फंक्शन में उस स्टैटिक पैरामीटर को डिक्लेयर किया गया है। आप स्टैटिक वेरिएबल को उस स्कोप के बाहर से कभी एक्सेस नहीं कर सकते है।
- Lifetime – एक यूजर डिफाइन डिक्लेअर स्टैटिक वेरिएबल का यूज़ लाइफटाइम पूरे प्रोग्राम के एक्सेक्यूशन तक बना रहता है। यह किसी फंक्शन प्रोग्राम स्टार्ट होने पर क्रिएट होता है, और प्रोग्राम समाप्त होने पर आटोमेटिक टर्मिनेट हो जाता है।
- Memory location – फंक्शन प्रोग्राम में डिक्लेअर स्टैटिक वैरिएबल मेमोरी के डेटा सेगमेंट (स्पेशली आर्डर में एक स्टैटिक मेमोरी एरिया में) में स्टोर और प्रोसेस होते हैं. स्टैक डाटा स्टोरेज मेथड में (लोकल स्टैटिक वैरिएबल के लिए) या हीप पर नहीं है।
- Initialization – याद रहे, किसी फंक्शन प्रोग्राम में डिक्लेअर एक स्टैटिक वैरिएबल सिर्फ़ एक बार प्रोग्राम में इनिशियलाइज़ होता है, और इसे किसी फंक्शन में क्लियर आर्डर में इनिशियलाइज़ नहीं किया जाता है. तो यह अपने आप ज़ीरो वैल्यू पर इनिशियलाइज़ हो जाता है. सामान्य रूप से एक स्टैटिक वेरिएबल (इंट, फ्लोट, आदि जैसे बेसिक टाइप के लिए) डाटा टाइप मेथड में डिफाइन हो सकता है।
Syntax of a static variable in C++.
static return_type variable_name;
Element of a static local variable.
- स्टैटिक वेरिएबल किसी फ़ंक्शन या ब्लॉक स्ट्रक्चर के अंदर डिक्लेयर या डिफाइन किया जाता है।
- यूजर डिफाइन स्टैटिक वैरिएबल फ़ंक्शन कालिंग के बीच अपनी डिफ़ॉल्ट वैल्यू को मेन्टेन रखता है।
Static global variable concept in C++.
किसी यूजर डिफाइन फंक्शन प्रोग्राम में स्टैटिक ग्लोबल वेरिएबल किसी फ़ंक्शन के बाहर डिक्लेयर किए जाते है, आप इसे स्टैटिक रिजर्व्ड C++ कीवर्ड के साथ डिक्लेअर कर सकते है।
प्रोग्राम में डिक्लेअर ग्लोबल स्टैटिक वैरिएबल सिर्फ़ उसी फ़ाइल में एक्सेस किए जा सकते है, यानी, इसका इंटरनल लिंकेज होता है।
static return_type variable_name;
static local variable concept in C++.
C++ प्रोग्राम में डिक्लेअर कोई भी एक स्टैटिक लोकल वैरिएबल मल्टीप्ल यूजर डिफाइन फ़ंक्शन कालिंग के समय अपनी वैल्यू को मेन्टेन रखता है।
Example of a static local variable in C++.
#include <iostream>
using namespace std;
void testerUpdate() {
static int tester = 0; // here we declare tester Static variable, which initialized only once time
tester++; // here tester static variable Increment the value
cout << “Tester Update Function execute ” << tester << ” step.” << endl;
}
int main() {
testerUpdate(); // Result – Tester Update Function execute 1 step.
testerUpdate(); // Result – Tester Update Function execute 2 step.
testerUpdate(); // Result – Tester Update Function execute 3 step.
testerUpdate(); // Result – Tester Update Function execute 4 step.
return 0;
}
static local variable explanation in C++.
- यहाँ इस एक्साम्प्ल में स्टैटिक वेरिएबल tester को सिर्फ़ एक बार इनिशियलाइज़ किया गया है, जिसमे फ़ंक्शन testerUpdate() को फर्स्ट टाइम कॉल करने पर आउटपुट डिस्प्ले होता है. testerUpdate() को बाद में कॉल करने पर, वेरिएबल tester अपनी वैल्यू को मेन्टेन रखता है, और वहीं से आगे की तरफ मूव होता है, जहाँ पे वह पहले स्टॉप हुआ था.
static global variable concept in C++.
C++ प्रोग्राम में डिक्लेअर एक स्टैटिक ग्लोबल वेरिएबल को सिर्फ़ उसी फ़ाइल में एक्सेस और मैनेज किया जा सकता है, जिसमें उसे पहले डिक्लेयर या डिफाइन किया गया है. जहा उस स्टैटिक ग्लोबल वेरिएबल का फ़ाइल स्कोप पहले से डिफाइन होता है। इससे स्टैटिक ग्लोबल वेरिएबल की विज़िबिलिटी सिर्फ़ फ़ाइल तक ही रिस्ट्रिक्टेड हो जाती है. जिससे की यह मल्टी-फ़ाइल प्रोग्राम में दूसरी फ़ाइलों से एक्सेस ये नहीं हो पाता है।
Example of a static global variable in C++.
#include <iostream>
using namespace std;
static int globalParameter = 1; // here we declare a Static global variable with value
void preview() {
cout << “Static global variable value is – ” << globalParameter << endl;
}
int main() {
preview(); // Result – Static global variable value is – 1
globalParameter++; // here we increment or Modify the static global variable value
preview(); // Result – Static global variable value is – 2
return 0;
}
static global variable explanation in C++.
- यहाँ इस एक्साम्प्ल में स्टैटिक ग्लोबल वेरिएबल globalParameter फ़ाइल के अंदर कई फ़ंक्शन कॉल में अपनी वैल्यू को मेन्टेन रखता है। इसे आप अन्य दूसरी फ़ाइलों से एक्सेस नहीं कर सकते है. चाहे यहाँ आपके पास किसी दूसरी फ़ाइल में उसी नाम का globalParameter स्टैटिक वेरिएबल डिफाइन हो।
Combined example of local and global static variables in C++.
#include <iostream>
using namespace std;
// here we declare Global static variable
int globalParameter = 21;
void testLocalnGlobalVariables()
{
// here we define a Local variable
int localParameter = 9;
// here we define a Static local variable
static int staticLocalParameter = 0;
staticLocalParameter++;
cout << “\n##############################” << endl;
cout << “Static Local Variable setp – ” << staticLocalParameter << endl;
cout << “Static Global Variable value is – ” << globalParameter << endl;
cout << “Local Variable value is – ” << localParameter << endl;
cout << “##############################” << endl;
}
int main()
{
cout << “\n ! First function call step !” << endl;
testLocalnGlobalVariables();
cout << “\n ! Second function call step !” << endl;
testLocalnGlobalVariables();
cout << “\n! Third function call step !” << endl;
testLocalnGlobalVariables();
cout << “\n! Fourth function call step !” << endl;
testLocalnGlobalVariables();
return 0;
}
