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

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

পয়েন্টার (Pointers)

পয়েন্টার ভেরিয়েবল একটি ভেরিয়েবলের ঠিকানা সংরক্ষণ করতে ব্যবহৃত হয়।

সিনট্যাক্স

Type *pointer;

ইনিশিয়ালাইজেশন

Type *pointer; Pointer = variable name;

রেফারেন্স (References)

যখন একটি প্যারামিটার রেফারেন্স হিসেবে ডিক্লেয়ার করা হয়, তবে এটি একটি বিদ্যমান প্যারামিটারের বিকল্প নাম হয়ে যায়।

সিনট্যাক্স

Type &newname = existing name;

ইনিশিয়ালাইজেশন

Type &pointer; Pointer = variable name;

পয়েন্টার এবং রেফারেন্স প্যারামিটারের প্রধান পার্থক্যগুলো নিচে দেওয়া হলো:

  • রেফারেন্স একটি বিদ্যমান ভেরিয়েবলকে অন্য একটি নাম দিয়ে রেফার করতে ব্যবহৃত হয়, পয়েন্টার ভেরিয়েবলের ঠিকানা সংরক্ষণ করতে ব্যবহৃত হয়।
  • রেফারেন্সে NULL মান অ্যাসাইন করা যায় না, কিন্তু পয়েন্টারে করা যায়।
  • একটি রেফারেন্স ভেরিয়েবল পাস বাই ভ্যালু (pass by value) দিয়ে রেফারেন্স করা যায়, কিন্তু পয়েন্টার পাস বাই রেফারেন্স (pass by reference) দিয়ে রেফারেন্স করা যায়।
  • রেফারেন্স ডিক্লেয়ারেশনের সময়ই ইনিশিয়ালাইজ করা বাধ্যতামূলক, কিন্তু পয়েন্টারের জন্য এটা বাধ্যতামূলক নয়।
  • রেফারেন্স মূল ভেরিয়েবলের সাথে একই মেমরি ঠিকানা শেয়ার করে কিন্তু স্ট্যাকে কিছু স্পেস নেয়, আর পয়েন্টারের নিজস্ব মেমরি ঠিকানা এবং স্ট্যাকে আকার থাকে।
  1. C++-এ লিটারেল (Literal) এবং কনস্ট্যান্ট (Constant) এর পার্থক্য

  2. C++-এ ডিক্লেয়ারেশন (Declaration) এবং ডেফিনিশন (Definition) এর পার্থক্য

  3. C++-এ ++i এবং i++ এর পার্থক্য

  4. C++-এ ডট (.) অপারেটর এবং -> (অ্যারো) অপারেটরের পার্থক্য