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

C++ में रेफरेंस (संदर्भ)

एक रेफरेंस वेरिएबल एक उपनाम है, यानी पहले से मौजूद वेरिएवल के लिए दूसरा नाम। एक बार जब रेफरेंस को किसी वेरिएवल के साथ आरंभ कर दिया जाता है, तो या तो वेरिएवल का नाम या रेफरेंस का नाम वेरिएवल को संदर्भित करने के लिए उपयोग किया जा सकता है।

रेफरेंस बनाम पॉइंटर्स

रेफरेंस को अक्सर पॉइंटर्स के साथ भ्रमित किया जाता है, लेकिन रेफरेंस और पॉइंटर्स के बीच तीन प्रमुख अंतर हैं -

  • आप नल रेफरेंस नहीं रख सकते। आपको हमेशा यह मानकर चलना चाहिए कि एक रेफरेंस स्टोरेज के एक वैध टुकड़े से जुड़ा हुआ है।

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

  • रेफरेंस को बनाते समय आरंभ किया जाना चाहिए। पॉइंटर्स को किसी भी समय आरंभ किया जा सकता है।

C++ में रेफरेंस निर्माण

वेरिएवल के नाम को मेमोरी में वेरिएवल के स्थान से जुड़े लेबल के रूप में सोचें। आप तब रेफरेंस को उस मेमोरी स्थान से जुड़े दूसरे लेबल के रूप में सोच सकते हैं। इसलिए, आप मूल वेरिएवल नाम या रेफरेंस के माध्यम से वेरिएवल की सामग्री तक पहुंच सकते हैं। उदाहरण के लिए, मान लें कि हमारे पास निम्नलिखित उदाहरण है -

int i = 17;

हम i के लिए रेफरेंस वेरिएबल्स घोषित कर सकते हैं।

int& r = i;

इन घोषणाओं में & को रेफरेंस के रूप में पढ़ें। इस प्रकार, पहली घोषणा को "r, i से आरंभ एक इंटीजर रेफरेंस है" के रूप में पढ़ें।

उदाहरण कोड

#include <iostream>
using namespace std;

int main() {
    // सरल वेरिएवल घोषित करें
    int i;
    double d;
    
    // रेफरेंस वेरिएवल घोषित करें
    int& r = i;
    double& s = d;
    
    i = 5;
    cout << "Value of i : " << i << endl;
    cout << "Value of i reference : " << r << endl;
    
    d = 11.7;
    cout << "Value of d : " << d << endl;
    cout << "Value of d reference : " << s << endl;
    
    return 0;
}

आउटपुट

Value of i : 5
Value of i reference : 5
Value of d : 11.7
Value of d reference : 11.7
  1. - C++ में पॉइंटर ऑपरेटर & क्या है?

    C++ दो पॉइंटर ऑपरेटर्स प्रदान करता है, जो हैं एड्रेस ऑफ ऑपरेटर (&) और इनडायरेक्शन ऑपरेटर (*)। एक पॉइंटर एक वेरिएबल है जो दूसरे वेरिएबल का पता रखता है या आप कह सकते हैं कि एक वेरिएबल जो दूसरे वेरिएबल का पता रखता है, उसे दूसरे वेरिएबल को पॉइंट टू करना कहा जाता है। एक वेरिएबल किसी भी डेटा प्रकार क

  1. - PHP रेफरेंसेस (References) - प्रतीक तालिका उपनाम

    परिचय PHP में, रेफरेंसेस (References) विभिन्न नामों से एक ही वेरिएबल सामग्री तक पहुँचने में सक्षम बनाते हैं। वे C/C++ में पॉइंटर्स की तरह नहीं हैं क्योंकि उनका उपयोग करके अंकगणितीय संक्रियाएँ करना संभव नहीं है। C/C++ में, वे वास्तविक मेमोरी पते हैं। PHP में इसके विपरीत, वे प्रतीक तालिका उपनाम (symb

  1. - क्या हम Python में वेरिएबल को रेफरेंस असाइन कर सकते हैं?

    Python में वेरिएबल का कॉन्सेप्ट C/C++ से अलग है। C/C++ में, वेरिएबल मेमोरी में एक नामित स्थान है। यहां तक कि यदि एक का मान दूसरे को असाइन किया जाता है, तो यह दूसरी लोकेशन में एक कॉपी बनाता है। int x=5; int y=x; उदाहरण के लिए C++ में, & ऑपरेटर घोषित वेरिएबल का एड्रेस लौटाता है। cout << x << &x << y <