কম্পিউটার টিউটোরিয়াল

C++-এ পাস-বাই-পয়েন্টার বনাম পাস-বাই-রেফারেন্স

নিচে পাস-বাই-পয়েন্টার এবং পাস-বাই-রেফারেন্সের সহজ উদাহরণ দেওয়া হলো:

পাস-বাই-পয়েন্টার

#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

উভয় পদ্ধতিতে ফলাফল একই। পার্থক্য হলো: রেফারেন্স ভেরিয়েবলের অন্য নাম, পয়েন্টার ঠিকানা ধারণ করে। রেফারেন্স নাল হতে না পারা কারণে এটি নিরাপদ।

  1. C++-এ রেফারেন্স ভেরিয়েবল কী?

  2. C++-এ অ্যারে ফাংশনে পাস করা (Passing Array to Function)

  3. C++-এ পয়েন্টার ভেরিয়েবল এবং রেফারেন্স ভেরিয়েবলের পার্থক্য

  4. PHP রেফারেন্স দিয়ে পাসিং (Passing by Reference)