C++ Functions | C++ Storage Classes
सी ++ स्टोरेज क्लासेस
C++ Storage Classes
C++ Functions | C++ Storage Classes
स्टोरेज क्लास का उपयोग सी ++ प्रोग्राम के भीतर एक चर और/या फ़ंक्शन के जीवनकाल और दृश्यता को परिभाषित करने के लिए किया जाता है।
लाइफटाइम उस अवधि को संदर्भित करता है जिसके दौरान चर सक्रिय रहता है और दृश्यता उस प्रोग्राम के मॉड्यूल को संदर्भित करती है जिसमें चर को एक्सेस किया जा सकता है।
पाँच प्रकार की स्टोरेज क्लासेस हैं, जिनका उपयोग C++ प्रोग्राम में किया जा सकता है
स्वचालित
पंजीकरण करवाना
स्थिर
बाहरी
परिवर्तनशील
Storage Class | Keyword | Lifetime | Visibility | Initial Value |
---|---|---|---|---|
Automatic | auto | Function Block | Local | Garbage |
Register | register | Function Block | Local | Garbage |
Mutable | mutable | Class | Local | Garbage |
External | extern | Whole Program | Global | Zero |
Static | static | Whole Program | Local | Zero |
Automatic Storage Class -स्वचालित भंडारण वर्ग
यह सभी स्थानीय चरों के लिए डिफ़ॉल्ट संग्रहण वर्ग है। ऑटो कीवर्ड स्वचालित रूप से सभी स्थानीय चरों पर लागू होता है।
{
auto int y;
float y = 3.45;
}
उपरोक्त उदाहरण एक ही स्टोरेज क्लास के साथ दो वेरिएबल्स को परिभाषित करता है, ऑटो का उपयोग केवल कार्यों के भीतर किया जा सकता है।
Register Storage Class- रजिस्टर भंडारण वर्ग
रजिस्टर चर RAM की तुलना में रजिस्टर में मेमोरी आवंटित करता है। इसका आकार रजिस्टर आकार के समान होता है। अन्य वेरिएबल्स की तुलना में इसकी तेज पहुंच है।
काउंटर जैसे त्वरित पहुंच के लिए केवल रजिस्टर चर का उपयोग करने की अनुशंसा की जाती है।
नोट: हम रजिस्टर चर का पता प्राप्त नहीं कर सकते।
register int counter=0;
Static Storage Class- स्टेटिक स्टोरेज क्लास
स्टैटिक वेरिएबल को केवल एक बार इनिशियलाइज़ किया जाता है और प्रोग्राम के अंत तक मौजूद रहता है। यह कई फ़ंक्शन कॉल के बीच अपना मान बनाए रखता है।
स्थिर चर का डिफ़ॉल्ट मान 0 होता है जो संकलक द्वारा प्रदान किया जाता है।
#include <iostream>
using namespace std;
void func() {
static int i=0; //static variable
int j=0; //local variable
i++;
j++;
cout<<"i=" << i<<" and j=" <<j<<endl;
}
int main()
{
func();
func();
func();
}
Output:-
i= 1 and j= 1
i= 2 and j= 1
i= 3 and j= 1
External Storage Class - बाहरी संग्रहण वर्ग
बाहरी चर सभी कार्यक्रमों के लिए दृश्यमान है। इसका उपयोग तब किया जाता है जब दो या दो से अधिक फ़ाइलें एक ही चर या फ़ंक्शन साझा कर रही हों।
extern int counter=0;