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

C++ में स्कोप रिज़ॉल्यूशन ऑपरेटर


:: (स्कोप रिज़ॉल्यूशन) ऑपरेटर का उपयोग वेरिएबल स्कोप के कारण छिपे हुए नामों को प्राप्त करने के लिए किया जाता है ताकि आप अभी भी उनका उपयोग कर सकें। स्कोप रिज़ॉल्यूशन ऑपरेटर का उपयोग यूनरी और बाइनरी दोनों के रूप में किया जा सकता है। आप यूनरी स्कोप ऑपरेटर का उपयोग कर सकते हैं यदि नेमस्पेस स्कोप या ग्लोबल स्कोप का नाम किसी ब्लॉक या क्लास में समकक्ष नाम की विशेष घोषणा द्वारा छिपा हुआ है। उदाहरण के लिए, यदि आपके पास my_var नाम का एक ग्लोबल वेरिएबल और my_var नाम का एक लोकल वेरिएबल है, तो ग्लोबल my_var को एक्सेस करने के लिए आपको स्कोप रिज़ॉल्यूशन ऑपरेटर का उपयोग करना होगा।

उदाहरण

#include <iostream>
using namespace std;
int my_var = 0;
int main(void) {
    int my_var = 0;
    ::my_var = 1;  // ग्लोबल my_var को 1 पर सेट करें
    my_var = 2;    // लोकल my_var को 2 पर सेट करें
    cout << ::my_var << ", " << my_var;
    return 0;
}

आउटपुट

इससे निम्न आउटपुट मिलेगा:

1, 2

मुख्य फ़ंक्शन में घोषित my_var की घोषणा ग्लोबल नेमस्पेस स्कोप में घोषित my_var नामक इंटीजर को छुपाती है। स्टेटमेंट ::my_var = 1 ग्लोबल नेमस्पेस स्कोप में घोषित my_var नामक वेरिएबल को एक्सेस करता है।

आप स्कोप रिज़ॉल्यूशन ऑपरेटर का उपयोग क्लास नाम या क्लास मेंबर नामों के लिए भी कर सकते हैं। यदि कोई क्लास मेंबर नाम छिपा हुआ है, तो आप इसे उसके क्लास नाम और क्लास स्कोप ऑपरेटर से पहले करके उपयोग कर सकते हैं। उदाहरण के लिए:

उदाहरण

#include <iostream>
using namespace std;

class X {
public:
    static int count;
};

int X::count = 10;  // स्टेटिक डेटा मेंबर को परिभाषित करें

int main() {
    int X = 0;  // क्लास टाइप X को छुपाता है
    cout << X::count << endl;  // क्लास X के स्टेटिक मेंबर का उपयोग करें
}

आउटपुट

इससे निम्न आउटपुट मिलेगा:

10
  1. - PHP स्कोप रिज़ॉल्यूशन ऑपरेटर (Scope Resolution Operator ::) - Paamayim Nekudotayim

    परिचय PHP में, डबल कोलन :: को स्कोप रिज़ॉल्यूशन ऑपरेटर (Scope Resolution Operator) के रूप में परिभाषित किया गया है। इसका उपयोग तब किया जाता है जब हम क्लास स्तर पर परिभाषित कॉन्स्टेंट्स, प्रॉपर्टीज और मेथड्स तक पहुँचना चाहते हैं। इन आइटम्स को क्लास परिभाषा के बाहर संदर्भित करते समय, क्लास के नाम का

  1. - C# में Scope Resolution Operator क्या है?

    C# में Scope Resolution Operator का अर्थ C++ की तुलना में अलग है। C++ में :: Global Variables के लिए उपयोग किया जाता है, जबकि C# में यह Namespaces से Related है।यदि आपके पास एक Type है जो Different Namespaces में Identifier Share करता है, तो उन्हें Identify करने के लिए Scope Resolution Operator का उ

  1. - C# में स्कोप रेज़ोल्यूशन ऑपरेटर (::) का उपयोग कहाँ करते हैं?

    C++ में स्कोप रेज़ोल्यूशन ऑपरेटर यानी :: का उपयोग ग्लोबल वेरिएबल्स के लिए किया जाता है, जबकि C# में यह नेमस्पेस से संबंधित है।यदि आपके पास एक टाइप है जो अलग-अलग नेमस्पेस में एक ही आइडेंटिफायर साझा करता है, तो उनकी पहचान करने के लिए स्कोप रेज़ोल्यूशन ऑपरेटर का उपयोग करें।उदाहरण के लिए, System.Console