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. Windows 11 को TPM 2.0 की आवश्यकता क्यों है? Windows 11 को TPM 2.0 की आवश्यकता क्यों है?

    अगर आपका कंप्यूटर पांच या छह साल पुराना है, तो संभावना है कि आप TPM 2.0 की आवश्यकता के कारण Windows 11 में अपग्रेड नहीं कर सकते। लेकिन क्या TPM 2.0 वास्तव में आवश्यक है या यह नया हार्डवेयर खरीदवाने की एक चाल मात्र है? आइए देखते हैं कि Windows 11 को TPM की आवश्यकता क्यों है, और Microsoft आपको TPM 2.0

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

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

  1. - पायथन में &= ऑपरेटर क्या करता है?

    &= ऑपरेटर object.__iand__() फ़ंक्शन के लिए सिंटैक्टिक शुगर है। पायथन डॉक्स से: ये मेथड ऑगमेंटेड अंकगणितीय असाइनमेंट (+=, -=, *=, @=, /=, //=, %=, **=, <<=, >>=, &=, ^=, |=) को इम्प्लीमेंट करने के लिए कॉल किए जाते हैं। ये मेथड इन-प्लेस ऑपरेशन (self को मॉडिफाई करना) करने का प्रयास करना चा