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

सी++ में सन्दर्भ


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

संदर्भ बनाम पॉइंटर्स

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

  • आपके पास NULL संदर्भ नहीं हो सकते। आपको हमेशा यह मानने में सक्षम होना चाहिए कि एक संदर्भ भंडारण के एक वैध टुकड़े से जुड़ा है।

  • एक बार किसी ऑब्जेक्ट के संदर्भ को प्रारंभ करने के बाद, इसे किसी अन्य ऑब्जेक्ट को संदर्भित करने के लिए बदला नहीं जा सकता है। पॉइंटर्स को किसी भी समय किसी अन्य वस्तु की ओर इशारा किया जा सकता है।

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

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

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

int i = 17;

हम निम्नानुसार i के लिए संदर्भ चर घोषित कर सकते हैं।

int& r = i;

इन घोषणाओं में संदर्भ के रूप में पढ़ें। इस प्रकार, पहली घोषणा को "r एक पूर्णांक संदर्भ है जो i से आरंभ किया गया है" के रूप में पढ़ें और दूसरी घोषणा को पढ़ें क्योंकि "s एक दोहरा संदर्भ है जिसे d से आरंभ किया गया है।"।

उदाहरण कोड

#include <iostream>
using namespace std;

int main () {
   // declare simple variables
   int i;
   double d;

   // declare reference variables
   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 में, संदर्भ एक ही चर सामग्री को अलग-अलग नामों से एक्सेस करने में सक्षम करें। वे C/C++ में पॉइंटर्स की तरह नहीं हैं क्योंकि उनका उपयोग करके अंकगणितीय संचालन करना संभव नहीं है। सी/सी ++ में, वे वास्तविक स्मृति पते हैं। इसके विपरीत PHP में, वे प्रतीक तालिका उपनाम हैं। PHP में, वेरिएबल नेम और

  1. क्या हम पायथन में एक चर के लिए एक संदर्भ निर्दिष्ट कर सकते हैं?

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