यहां हम देखेंगे कि C++ में कुछ वेरिएबल के रेफरेंस को कैसे पास किया जाए। कभी-कभी हम इसे "कॉल बाय रेफरेंस" कहते हैं।
किसी फ़ंक्शन में तर्क पारित करने की संदर्भ विधि द्वारा कॉल औपचारिक पैरामीटर में तर्क के संदर्भ की प्रतिलिपि बनाता है। फ़ंक्शन के अंदर, कॉल में प्रयुक्त वास्तविक तर्क तक पहुंचने के लिए संदर्भ का उपयोग किया जाता है। इसका मतलब है कि पैरामीटर में किए गए परिवर्तन पारित तर्क को प्रभावित करते हैं।
मान को संदर्भ द्वारा पारित करने के लिए, तर्क संदर्भ को किसी अन्य मान की तरह ही फ़ंक्शंस में पास किया जाता है। तो तदनुसार आपको फ़ंक्शन पैरामीटर को संदर्भ प्रकार के रूप में घोषित करने की आवश्यकता है जैसा कि निम्न फ़ंक्शन स्वैप() में है, जो इसके तर्कों द्वारा इंगित दो पूर्णांक चर के मानों का आदान-प्रदान करता है।
उदाहरण
// function definition to swap the values. void swap(int &x, int &y) { int temp; temp = x; /* save the value at address x */ x = y; /* put y into x */ y = temp; /* put x into y */ return; }
अभी के लिए, आइए हम निम्नलिखित उदाहरण के अनुसार मानों को संदर्भ द्वारा पास करके स्वैप () फ़ंक्शन को कॉल करें -
उदाहरण
#include <iostream> using namespace std; // function declaration void swap(int &x, int &y); int main () { // local variable declaration: int a = 100; int b = 200; cout << "Before swap, value of a :" << a << endl; cout << "Before swap, value of b :" << b << endl; /* calling a function to swap the values using variable reference.*/ swap(a, b); cout << "After swap, value of a :" << a << endl; cout << "After swap, value of b :" << b << endl; return 0; }
आउटपुट
Before swap, value of a :100 Before swap, value of b :200 After swap, value of a :200 After swap, value of b :100