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

C++ में पॉइंटर और रेफरेंस पैरामीटर में अंतर

पॉइंटर्स

पॉइंटर वेरिएबल्स का उपयोग वेरिएबल के पते को स्टोर करने के लिए किया जाता है।

सिंटैक्स

Type *pointer;

इनिशियलाइज़ेशन

Type *pointer;
Pointer = variable name;

रेफरेंस

जब किसी पैरामीटर को रेफरेंस के रूप में घोषित किया जाता है, तो यह मौजूदा पैरामीटर का एक वैकल्पिक नाम बन जाता है।

सिंटैक्स

Type &newname = existing name;

इनिशियलाइज़ेशन

Type &pointer;
Pointer = variable name;

पॉइंटर्स और रेफरेंस पैरामीटर्स के बीच मुख्य अंतर हैं -

  • रेफरेंस का उपयोग मौजूदा वेरिएबल को दूसरे नाम से संदर्भित करने के लिए किया जाता है जबकि पॉइंटर्स का उपयोग वेरिएबल के पते को स्टोर करने के लिए किया जाता है।

  • रेफरेंस को नल मान असाइन नहीं किया जा सकता लेकिन पॉइंटर को किया जा सकता है।

  • रेफरेंस वेरिएबल को पास बाय वैल्यू द्वारा संदर्भित किया जा सकता है जबकि पॉइंटर को पास बाय रेफरेंस द्वारा संदर्भित किया जा सकता है।

  • रेफरेंस को घोषणा पर इनिशियलाइज़ किया जाना चाहिए जबकि पॉइंटर के मामले में यह आवश्यक नहीं है।

  • रेफरेंस मूल वेरिएबल के समान मेमोरी पता साझा करता है लेकिन स्टैक पर कुछ स्पेस भी लेता है जबकि पॉइंटर का अपना मेमोरी पता और स्टैक पर आकार होता है।

  1. - C++ में डिक्लेरेशन और डेफिनिशन में क्या अंतर है?

    C++ में डिक्लेरेशन और डेफिनिशन अक्सर भ्रमित होते हैं। डिक्लेरेशन का अर्थ है (C में) कि आप कंपाइलर को किसी वेरिएबल, या यूजर-डिफाइंड टाइप या फंक्शन के टाइप, साइज और फंक्शन डिक्लेरेशन के मामले में उसके पैरामीटर्स के टाइप और साइज के बारे में बता रहे हैं। डिक्लेरेशन के मामले में किसी भी वेरिएबल के लिए म

  1. - C++ में ++i और i++ में क्या अंतर है?

    ++ के सफ़िक्स और प्रीफिक्स संस्करणों के बीच एक बड़ा अंतर है। प्रीफिक्स संस्करण में (यानी, ++i), i का मान बढ़ाया जाता है, और एक्सप्रेशन का मान i का नया मान होता है। तो मूल रूप से यह पहले इन्क्रीमेंट करता है फिर एक्सप्रेशन को मान असाइन करता है। पोस्टफिक्स संस्करण में (यानी, i++), i का मान बढ़ाया जात

  1. - C++ में डॉट (.) ऑपरेटर और -> में क्या अंतर है?

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