Saturday 5 December 2015

Difference between pointer variable and Reference variable in C++ (IN HINDI)

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

C++ References एवं  Pointers के ३ बड़े अंतर :

रिफरेन्स को काफी समय पॉइंटर्स समझ लिया जाता है। परन्तु यह गलत है, निचे कुछ अंतर दिए गए हैं।
  • हम रिफरेन्स को नुल्ल् वैल्यू के साथ सहयोगी नहीं बना सकते , परन्तु हम पॉइंटर्स को नुल्ल् वैल्यू के साथ सहियोग कर सकते है।
  • अगर एक बार रिफरेन्स किसी वेरिएबल / ऑब्जेक्ट(object) के साथ सहियोग में हो गया तो हम उस रिफरेन्स की वैल्यू चेंज नहीं कर सकते (मतलब अब हम उस रिफरेन्स को किसी और वेरिएबल के साथ साहियोह नहीं कर सकते )। पॉइंटर्स के साथ ऐसा नहीं है। हम पॉइंटर्स की वैल्यू de-referencing से बदल सकते हैं। 
  • // example
    int x = 5;
    int y = 6;
    int *p;
    p =  &x;
    p = &y;
    *p = 10;
रिफरेन्स उदाहरण
  • int x = 5;
    int y = 6;
    int &r = x;
  • एक रिफरेन्स वेरिएबल को उसके निर्माण के समय ही किसी दूसरे वेरिएबल के साथ सहियोग करना जरुरी है। परन्तु हम पॉइंटर्स को कभी भी किसी वेरिएबल के साथ सहियोग कर सकते है। 

Creating References in C++ :-

हम अपने प्रोग्राम में एक वेरिएबल घोषित कर देते है। 
`int var = 5 ;`
अब हम रिफरेन्स वेरिएबल कुछ इस प्रकार घोषित कर सकते है। 
`int& ref = var ;`
हम लोग इस घोषणा को इस प्रकार पढ़ते है (`ref` is an integer reference initialized to `var`)

उदाहरण
#include<iostream>
using namespace std;
int main()
{
    cout<<"program to illustrate use of reference variable : \n";
    int var ;
    int & ref = var ;

    var = 5;
    cout<<"The value of var is : " << var << endl ;
    cout<<"The value of reference variable ref is : " << ref << endl ;
    return 0;
}

Output :-
program to illustrate use of reference variable : 
The value of var is : 5
The value of reference variable ref is : 5

1 comment: