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;  // set global my_var to 1
   my_var = 2;    // set local my_var to 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;    // define static data member
int main () {
   int X = 0;       // hides class type X
   cout << X::count << endl;     // use static member of class X
}

आउटपुट

यह आउटपुट देगा -

10

  1. विंडोज 11 को टीपीएम 2.0 की आवश्यकता क्यों है?

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

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

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

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

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