स्थिर भंडारण वर्ग संकलक को निर्देश देता है कि जब भी यह आए और दायरे से बाहर हो जाए तो इसे बनाने और नष्ट करने के बजाय कार्यक्रम के जीवनकाल के दौरान एक स्थानीय चर को अस्तित्व में रखें। इसलिए, स्थानीय चर को स्थिर बनाने से वे फ़ंक्शन कॉल के बीच अपने मान बनाए रख सकते हैं।
स्थिर संशोधक को वैश्विक चरों पर भी लागू किया जा सकता है। जब यह किया जाता है, तो यह उस चर के दायरे को उस फ़ाइल तक सीमित कर देता है जिसमें इसे घोषित किया जाता है।
C++ में, जब किसी वर्ग डेटा सदस्य पर स्थैतिक का उपयोग किया जाता है, तो यह उस सदस्य की केवल एक प्रति को उसकी कक्षा के सभी ऑब्जेक्ट द्वारा साझा करने का कारण बनता है।
उदाहरण
#include <iostream> void func( void ) { static int i = 10; // local static variable i++; std::cout << "i is " << i ; std::cout << " and count is " << count << std::endl; } static int count = 6; /* Global variable */ int main() { while(count--) { func(); } }
आउटपुट
यह आउटपुट देगा -
i is 10 and count is 5 i is 11 and count is 4 i is 12 and count is 3 i is 13 and count is 2 i is 14 and count is 1 i is 15 and count is 0