के बीच क्या अंतर है, मैं बस के बीच का अंतर जानना चाहता था। ऑपरेटर और :: ऑपरेटर?डॉट ऑपरेटर और स्कोप रिज़ॉल्यूशन ऑपरेटर
उत्तर
पूर्व (डॉट, .
) किसी ऑब्जेक्ट के सदस्यों तक पहुंचने के लिए उपयोग किया जाता है, बाद वाला (डबल कॉलन, ::
) नामस्थान या कक्षा के सदस्यों तक पहुंचने के लिए उपयोग किया जाता है।
निम्न सेटअप पर विचार करें।
namespace ns {
struct type
{
int var;
};
}
इस मामले में, संरचना है, जो एक नाम स्थान का एक सदस्य है उल्लेख करने के लिए, आप ::
का उपयोग करें। type
के किसी ऑब्जेक्ट में चर का उपयोग करने के लिए, आप .
का उपयोग करते हैं।
ns::type obj;
obj.var = 1;
आप किसी ऑब्जेक्ट उदाहरण के लिए सूचक का उपयोग कर रहे हैं, तो आप का उपयोग कर वस्तु के सदस्यों का उपयोग करना होगा -> "डॉट" के स्थान पर
आपको * * 'p-> m' * (* p) .m' के लिए सिंटैक्टिक चीनी नहीं है;) – fredoverflow
एक और तरीका है ट्रैक्टर के बारे में सोचना डॉट '::' scope resolution operator.
उन मामलों में जहां एक से अधिक ऑब्जेक्ट हैं जिनके पास समान नाम है। आप स्पष्ट रूप से जो एक का उपयोग करने की घोषणा: '।'
std::min(item, item2);
या
mycustom::min(item, item2);
डॉट ऑपरेटर तरीके और एक वस्तु उदाहरण के गुण
Myobject myobject;
myobject.doWork();
myobject.count = 0;
// etc
यह नहीं कहा गया था कॉल करने के लिए है, लेकिन वहाँ एक और ऑपरेटर एक वस्तु उदाहरण new
साथ गतिशील रूप से बनाई गई है, तो उपयोग करने के लिए है, यह तीर ऑपरेटर है '->'
Myobject myobject2 = new Myobject();
myobject2->doWork();
myobject2->count = 1;
- 1. स्कोप-रिज़ॉल्यूशन ऑपरेटर :: बनाम सदस्य-पहुंच ऑपरेटर। सी #
- 2. ग्रोवी स्प्रेड-डॉट ऑपरेटर
- 3. हास्केल डॉट ऑपरेटर
- 4. स्कोप रेज़ोल्यूशन ऑपरेटर बिना किसी दायरे के
- 5. सी ++ ऑपरेटर + और ऑपरेटर + = अधिभार
- 6. ऑपरेटर शून्य * और ऑपरेटर बूल
- 7. :: MyClass रूबी स्कोप ऑपरेटर क्या करता है?
- 8. सी # डिफ़ॉल्ट स्कोप रिज़ॉल्यूशन
- 9. '->' (तीर ऑपरेटर) और '।' के बीच क्या अंतर है (डॉट ऑपरेटर) उद्देश्य-सी में?
- 10. डॉट (।) ऑपरेटर और -> सी ++ में अंतर क्या है?
- 11. | ऑपरेटर बनाम || ऑपरेटर
- 12. '-' ऑपरेटर
- 13. ऑपरेटर | =
- 14. ऑपरेटर =
- 15. % ऑपरेटर
- 16. ऑपरेटर
- 17. संरचना भिन्नता ऑपरेटर (ऑपरेटर>)
- 18. ऑपरेटर और सामान्य वर्गों
- 19. PHP और ?? ऑपरेटर
- 20. Enums और substraction ऑपरेटर
- 21. ऑपरेटर ओवरलोडिंग और प्राथमिकता
- 22. ऑपरेटर # + और # - .sbclrc
- 23. printf और ++ ऑपरेटर
- 24. त्वरित और गंदे ऑपरेटर =
- 25. ऑपरेटर और विरासत
- 26. ऑपरेटर ओवरलोडिंग और नामस्थान
- 27. नामस्थान और ऑपरेटर संकल्प
- 28. typedef और ऑपरेटर सी ++
- 29. Regex और ऑपरेटर
- 30. PHP "और" ऑपरेटर
इसलिए, यदि हम किसी चीज़ तक पहुंचने के लिए ऑब्जेक्ट का उपयोग कर रहे हैं, तो हमें डॉट ऑपरेटर का उपयोग करना होगा, और यदि हम कक्षा का नाम उपयोग कर रहे हैं तो हमें :: का उपयोग करना होगा, है ना ?, क्या आप एक उदाहरण भी दे सकते हैं, यदि आप अन्यथा न लें! – defiant
@oDx, यह सही है, इसलिए यदि आपके पास कक्षा का स्थैतिक चर या फ़ंक्शन है, तो आप उन्हें संदर्भित करने के लिए कक्षा के नाम से "::" का उपयोग करेंगे, जबकि यदि आपके पास सदस्य फ़ंक्शन या सदस्य चर है, तो आप इस्तेमाल करूँगा "।" कक्षा के एक उदाहरण के नाम के साथ। –