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

C++ में static कीवर्ड और इसके विभिन्न उपयोग


जब static कीवर्ड का उपयोग किया जाता है, तो वेरिएबल या डेटा मेंबर्स या फंक्शन्स को फिर से मॉडिफाई नहीं किया जा सकता। यह प्रोग्राम के जीवनकाल के लिए आवंटित होता है। स्टैटिक फंक्शन्स को क्लास नाम का उपयोग करके सीधे कॉल किया जा सकता है।

स्टैटिक वेरिएबल्स केवल एक बार इनिशियलाइज़ होते हैं। कंपाइलर वेरिएबल को प्रोग्राम के अंत तक बनाए रखता है। स्टैटिक वेरिएबल को फंक्शन के अंदर या बाहर परिभाषित किया जा सकता है। वे ब्लॉक के लिए लोकल होते हैं। स्टैटिक वेरिएबल का डिफ़ॉल्ट मान शून्य होता है। स्टैटिक वेरिएबल्स प्रोग्राम के निष्पादन तक जीवित रहते हैं।

C++ भाषा में static कीवर्ड का सिंटैक्स निम्नलिखिक है,

static datatype variable_name = value; // स्टैटिक वेरिएबल    static return_type function_name { // स्टैटिक फंक्शन्स    ... }

यहां,

datatype − वेरिएबल का डेटा टाइप जैसे int, char, float आदि।

variable_name − यह उपयोगकर्ता द्वारा दिया गया वेरिएबल का नाम है।

value − वेरिएबल इनिशियलाइज़ करने के लिए कोई भी मान। डिफ़ॉल्ट रूप से, यह शून्य है।

return_type − फंक्शन का डेटा टाइप जो मान लौटाता है।

function_name − फंक्शन को कोई भी नाम।

static कीवर्ड का एक उदाहरण निम्नलिखिक है।

उदाहरण

#include <bits/stdc++.h> using namespace std; class Base {    public : static int val;    static int func(int a) {       cout << "\nस्टैटिक मेंबर फंक्शन कॉल किया गया";       cout << "\na का मान: " << a;    } }; int Base::val=28; int main() {    Base b;    Base::func(8);    cout << "\nस्टैटिक वेरिएबल का मान: " << b.val;    return 0; }

आउटपुट

स्टैटिक मेंबर फंक्शन कॉल किया गया a का मान: 8 स्टैटिक वेरिएबल का मान: 28

उपरोक्त प्रोग्राम में, एक स्टैटिक वेरिएबल घोषित किया गया है। क्लास Base में एक स्टैटिक फंक्शन परिभाषित किया गया है जैसा कि नीचे दिखाया गया है −

public : static int val; static int func(int a) {    cout << "\nस्टैटिक मेंबर फंक्शन कॉल किया गया";    cout << "\na का मान: " << a; }

क्लास के बाद और main() से पहले, स्टैटिक वेरिएबल को निम्नानुसार इनिशियलाइज़ किया जाता है।

int Base::val=28;

main() फंक्शन में, Base क्लास का ऑब्जेक्ट बनाया जाता है और स्टैटिक वेरिएबल को कॉल किया जाता है। Base क्लास के ऑब्जेक्ट का उपयोग किए बिना स्टैटिक फंक्शन को भी कॉल किया जाता है।

Base b; Base::func(8); cout << "\nस्टैटिक वेरिएबल का मान: " << b.val;

  1. - क्या C++ वेरिएबल const और volatile दोनों हो सकता है?

    हां, एक C++ वेरिएबल const और volatile दोनों हो सकता है। इसका उपयोग उन स्थितियों में किया जाता है जैसे रीड-ओनली हार्डवेयर रजिस्टर, या किसी अन्य थ्रेड का आउटपुट। Volatile का अर्थ है कि इसे करंट थ्रेड के लिए बाहरी किसी चीज़ द्वारा बदला जा सकता है और Const का अर्थ है कि आप उसमें नहीं लिखते (उस प्रोग्राम

  1. - C++ में #define और const कीवर्ड में क्या अंतर है?

    #define डायरेक्टिव एक प्रीप्रोसेसर डायरेक्टिव है; प्रीप्रोसेसर कंपाइलर द्वारा इसे देखने से पहले उन मैक्रोज़ को उनके बॉडी से बदल देता है। इसे अपने सोर्स कोड के स्वचालित सर्च और रिप्लेस के रूप में सोचें। एक const वेरिएबल डिक्लेरेशन भाषा में एक वास्तविक वेरिएबल घोषित करता है, जिसे आप एक वास्तविक वेरिए

  1. - C++ में const कीवर्ड क्या है?

    हम किसी वेरिएबल को स्थिर घोषित करने के लिए const क्वालिफायर का उपयोग करते हैं। इसका मतलब है कि एक बार वेरिएबल इनिशियलाइज़ हो जाने के बाद हम उसका मान नहीं बदल सकते। const का उपयोग करने का एक बहुत बड़ा लाभ है। उदाहरण के लिए, यदि आपके पास PI के मान जैसा एक स्थिर मान है, तो आप नहीं चाहेंगे कि प्रोग्राम