c++ - When to use "::" and when to use "." -
इस सवाल का पहले से ही एक उत्तर है: < / P>
- 2 जवाब
एक सवाल के लिए क्षमा याचना मान लीजिए कि यह बहुत ही बुनियादी है।
मुझे ऑनलाइन ऑपरेटर :: और सी ++ में
मेरे पास सी # और जावा के साथ कुछ साल का अनुभव है, और उपयोग करने की अवधारणा से परिचित हूं। सदस्य पहुंच के लिए ऑपरेटर।
क्या कोई ये समझा सकता है कि इनका उपयोग कब किया जाएगा और अंतर क्या है?
आपके समय के लिए धन्यवाद
अंतर पहला है स्कोप रेज़ोल्यूशन ऑपरेटर और दूसरा सदस्य का उपयोग सिंटैक्स है।
तो,
:: < / कोड> (स्कोप रिज़ॉल्यूशन) का उपयोग किसी नेस्टेड क्लास की तरह एक नेमस्पेस में कुछ और तक पहुंचने के लिए या एक स्थिर फ़ंक्शन तक पहुंचने के लिए किया जा सकता है।
। अवधि ऑपरेटर केवल उस क्लास इंस्टेंस के किसी भी दृश्य सदस्य तक पहुंच जाएगा जो आप इसे प्रयोग कर रहे हैं।
कुछ उदाहरण:
class A {सार्वजनिक: कक्षा B {}; स्थिर शून्य foo () {} शून्य बार () {}}; // नेस्टेड क्लास का उदाहरण बनायें B. ए :: बी आईबी; // ए के उदाहरण सामान्य कार्य पर कॉल करें। ए ए; एक बार(); // क्लास पर स्थैतिक फ़ंक्शन को कॉल करें (कक्षा के उदाहरण के बजाय) एक :: foo ();
ध्यान दें कि एक स्थिर कार्य या डेटा सदस्य एक है जो कि कक्षा से ही है, चाहे आप उस वर्ग के किसी भी उदाहरण को बनाए हैं या नहीं। इसलिए, अगर मेरे वर्ग में एक स्थिर वैरिएबल था, और उस वर्ग के एक हजार उदाहरणों को crated किया था, तो उस स्थैतिक चर का केवल 1 उदाहरण अभी भी है किसी भी अन्य सदस्य के 1000 उदाहरण होंगे जो कि स्थैतिक नहीं थे, एक वर्ग के प्रति उदाहरण।
जब आप इसे करने के लिए आते हैं तो एक और दिलचस्प विकल्प :) आप यह भी देखेंगे:
// डायनामिक रूप से आवंटित ए को एक सूचक बनाएं। ए * ए = नया ए (); // सूचक / कॉल बार के माध्यम से सूचक एक करने के लिए & gt; बार (); // नि: शुल्क स्मृति !!! हटाएं;
यदि आप इसे अभी तक नहीं सीख चुके हैं, तो डायनामिक मेमोरी थोड़ा अधिक भ्रमित हो सकता है, इसलिए मैं विवरण में नहीं जाऊंगा। बस आप चाहते थे कि आप {
:: या
। या
- & gt; } के साथ सदस्यों तक पहुंच सकते हैं:)
Comments
Post a Comment