কম্পিউটার

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++ এ অনির্ধারিত রেফারেন্স/অমীমাংসিত বাহ্যিক প্রতীক ত্রুটিগুলি কী কী?

  3. C++ এ কয়টি কীওয়ার্ড আছে?

  4. জাভাতে C++ বৈশিষ্ট্যগুলি কী অনুপস্থিত?