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

C++ में एरो ऑपरेटर, `->` क्या है?

किसी वर्ग या संरचना के सदस्यों तक पहुँचने के लिए डॉट और एरो ऑपरेटर दोनों का उपयोग C++ में किया जाता है। इनका उपयोग विभिन्न परिदृश्यों में किया जाता है। सी ++ में, वर्ग, संरचना, या संघ के रूप में घोषित प्रकारों को "वर्ग प्रकार" माना जाता है। तो निम्नलिखित उन तीनों को संदर्भित करता है।

  • a.b का उपयोग केवल तभी किया जाता है जब b वस्तु का सदस्य हो (या किसी वस्तु का संदर्भ) a. तो a.b के लिए, वसीयत हमेशा एक वर्ग की एक वास्तविक वस्तु (या किसी वस्तु का संदर्भ) होती है।

  • a->b अनिवार्य रूप से (*a).b के लिए एक शॉर्टहैंड नोटेशन है, यानी, यदि a किसी ऑब्जेक्ट का पॉइंटर है, तो a->bis उस ऑब्जेक्ट के प्रॉपर्टी b तक पहुंचना है, जिसकी ओर इशारा करता है।

ध्यान दें कि डॉट को ओवरलोड नहीं किया जा सकता है लेकिन -> ओवरलोड किया जा सकता है, इसलिए हम अपने स्वयं के फ़ंक्शन (ऑपरेटर-> ()) को परिभाषित कर सकते हैं जिसे इस ऑपरेटर का उपयोग होने पर कहा जाना चाहिए। इसलिए यदि a क्लास का ऑब्जेक्ट है जो ऑपरेटर को ओवरलोड करता है-> (इस तरह के सामान्य प्रकार स्मार्ट पॉइंटर्स और इटरेटर हैं), तो अर्थ जो भी क्लास डिज़ाइनर लागू करता है।

संदर्भ, अर्थात्, वस्तुओं के उपनाम हैं, इसलिए मुझे "या एक सूचक के संदर्भ" को भी जोड़ना चाहिए था। हालांकि, मैंने सोचा कि यह मददगार से ज्यादा भ्रमित करने वाला होगा, क्योंकि पॉइंटर्स (T*&) के संदर्भ शायद ही कभी उपयोग किए जाते हैं।

उदाहरण कोड

#include<iostream>
class A {
   public: int b;
   A() { b = 5; }
};
int main() {
   A a = A();
   A* x = &a;
   std::cout << "a.b = " << a.b << "\n";
   std::cout << "x->b = " << x->b << "\n";
   return 0;
}

आउटपुट

5
5

  1. C++ में टर्नरी ऑपरेटर (? X :Y) क्या है?

    सशर्त ऑपरेटर (? :) एक टर्नरी ऑपरेटर है (इसमें तीन ऑपरेंड लगते हैं)। सशर्त ऑपरेटर निम्नानुसार काम करता है - पहला ऑपरेंड पूरी तरह से बूल में बदल जाता है। इसका मूल्यांकन किया जाता है और जारी रखने से पहले सभी दुष्प्रभावों को पूरा किया जाता है। यदि पहला ऑपरेंड सत्य (1) का मूल्यांकन करता है, तो दूसरे ऑपर

  1. C++ में sizeof ऑपरेटर क्या है?

    Sizeof एक कीवर्ड है, लेकिन यह एक कंपाइल-टाइम ऑपरेटर है जो एक वेरिएबल या डेटा प्रकार के आकार को बाइट्स में निर्धारित करता है। sizeof ऑपरेटर का उपयोग कक्षाओं, संरचनाओं, यूनियनों और किसी अन्य उपयोगकर्ता द्वारा परिभाषित डेटा प्रकार के आकार को प्राप्त करने के लिए किया जा सकता है। sizeof का उपयोग करने का

  1. C++ में एक्सेस मॉडिफायर क्या हैं?

    डेटा छिपाना ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग की महत्वपूर्ण विशेषताओं में से एक है जो किसी प्रोग्राम के कार्यों को एक वर्ग प्रकार के आंतरिक प्रतिनिधित्व को सीधे एक्सेस करने से रोकता है। क्लास के सदस्यों के लिए एक्सेस प्रतिबंध लेबल किए गए एक्सेस संशोधक द्वारा निर्दिष्ट किया गया है:क्लास बॉडी के भीतर सार