C++ References

Introduction to C++ References

C++ में reference या reference variable किसी existing variable का alias (वैकल्पिक नाम) होता है। एक बार जब आप किसी variable का reference create करते है तो आप reference variable को real variable की तरह ही प्रयोग कर पाते है। आप दोनों में से किसी भी name को use कर सकते है।

Reference variables normal variables से थोड़े अलग होते है। References compiler द्वारा compile time पर check किये जाते है। इसलिए reference variables को initialize किया जाना अनिवार्य होता है।

एक बार define करने के बाद एक reference किसी दूसरे type को नहीं refer कर सकता है। उदाहरण के लिए यदि आपने एक reference variable create किया है जो integer variable को refer करता है तो आप उसी reference से किसी दूसरे type जैसे की double आदि के variable को नहीं refer कर सकते है।

References को किसी दूसरे variable के address से initialize किया जाता है। ऐसे में आप सोच सकते है की references भी pointers ही होते है लेकिन ऐसा बिलकुल भी नहीं होता है। यह स्पष्ट करने के लिए निचे references और pointers में कुछ differences दिए जा रहे है।

  • एक बार जब reference initialize हो जाए तो उससे आप किसी दूसरे variable को refer नहीं कर सकते है। क्योंकि एक reference किसी memory location का दूसरा नाम होता है और आप कई memory locations को एक ही नाम नहीं दे सकते है। Pointers के द्वारा आप कितने भी variables को initialize कर सकते है। क्योंकि एक pointer सिर्फ point करने का कार्य करता है।
  • References कभी भी NULL नहीं हो सकते है। Reference variables हमेशा किसी memory location को refer करते है जँहा पर value stored रहती है। लेकिन pointers को NULL set किया जा सकता है।
  • जब reference variables को declare किया जाता है तो उन्हें initialize करना जरुरी होता है। लेकिन pointers को declare करते समय initialize करना आवश्यक नहीं होता है।
  • Reference variable द्वारा refer किये जाने वाली variable की value को use करने के लिए dereferencing (*) operator की आवश्यकता नहीं होती है। आप references variables को normal variables की तरह directly use कर सकते है। लेकिन pointers के द्वारा value access करने के लिए dereferencing operator की आवश्यकता होती है।

Reference variables को functions में parameters और return type के रूप में भी use किया जा सकता है। Methods को by reference call करके variables को real time में modify किया जाता है।

Syntax of C++ References

C++ में reference variables create करने का general syntax निचे दिया जा रहा है।

data-type dereferencing-operator(&) reference-name = variable-name;

जैसा की आप ऊपर दिए गए syntax में देख सकते है reference variable को declare करते समय सबसे पहले data type define किया जाता है। Reference variable का data type भी वही होना चाहिए जो real variable का होता है।

इसके बाद dereferencing operator (&) define किया जाता है। उसके बाद reference variable का नाम define किया जाता है। Reference variable का नाम unique होना चाहिए। इसके बाद वह variable assign किया जाता है जिसे आप refer करना चाहते है। जैसा की मैने आपको पहले बताया एक reference variable को compile time पर check किया जाता है इसलिए उसे initialize करना अनिवार्य होता है।

Example of C++ References

C++ में references को use करना निचे उदाहरण द्वारा समझाया जा रहा है।

#include<iostream>
using namespace std;

int main()
{
    int Num = 10;
    int& N = Num;
    cout<<"Num is : "<<Num<<endl;
    N = 20;
    cout<<"Now Num is : "<<N<<endl;
}

ऊपर दिया गया program निचे दिया गया ouput generate करता है।

Num is : 10
Now Num is : 20