ये पॉइंटर द्वारा पासिंग और रेफरेंस से गुजरने के सरल उदाहरण हैं -
सूचक से गुजरना
#include <iostream> using namespace std; void swap(int* a, int* b) { int c = *a; *a= *b; *b = c; } int main() { int m = 7, n = 6; cout << "Before Swap\n"; cout << "m = " << m << " n = " << n << "\n"; swap(&m, &n); cout << "After Swap by pass by pointer\n"; cout << "m = " << m << " n = " << n << "\n"; }
आउटपुट
Before Swap m = 7 n = 6 After Swap by pass by pointer m = 6 n = 7
संदर्भ से गुजरना
#include <iostream> using namespace std; void swap(int& a, int& b) { int c = a; a= b; b = c; } int main() { int m =7, n = 6; cout << "Before Swap\n"; cout << "m = " << m << " n = " << n << "\n"; swap(m, n); cout << "After Swap by pass by reference\n"; cout << "m = " << m << " n = " << n << "\n"; }
आउटपुट
Before Swap m = 7 n = 6 After Swap by pass by reference m = 6 n = 7
इसलिए, यदि हम किसी फ़ंक्शन को या तो पॉइंटर द्वारा पास करते हैं या संदर्भ द्वारा पास करते हैं तो यह वही परिणाम देगा। केवल अंतर यह है कि संदर्भ का उपयोग किसी मौजूदा चर को दूसरे नाम से संदर्भित करने के लिए किया जाता है जबकि पॉइंटर्स का उपयोग चर के पते को संग्रहीत करने के लिए किया जाता है। संदर्भ का उपयोग करना सुरक्षित है क्योंकि यह NULL नहीं हो सकता।