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

C++-এ পাস বাই পয়েন্টার (Pass by Pointer) এর সুবিধা পাস বাই রেফারেন্স (Pass by Reference) এর তুলনায়

একটি পয়েন্টার NULL প্যারামিটার রিসিভ করতে পারে, কিন্তু একটি রেফারেন্স পারতেছে না। আপনি শুধু পয়েন্টার ব্যবহার করবেন যদি আপনি "কোনো অবজেক্ট নেই" পাস করতে চান।

এক্সপ্লিসিটলি পাস বাই পয়েন্টার আমাদের কল সাইটে দেখতে দেয় যে অবজেক্টটি পাস বাই রেফারেন্স হচ্ছে নাকি পাস বাই ভ্যালু।

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

পাস বাই পয়েন্টার (Passing by pointer)

উদাহরণ কোড

#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

পাস বাই রেফারেন্স (Passing by reference)

উদাহরণ কোড

#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++-এ অনডিফাইনড রেফারেন্স / আনরেজলভড এক্সটার্নাল সিম্বল এরর কী?

  3. C++-এ কতগুলো কীওয়ার্ড (keywords) আছে?

  4. C++-এ থাকা কিন্তু জাভায় নেই এমন ফিচারগুলো