কম্পিউটার

C++ এ অ্যাসাইনমেন্ট অপারেটর এবং কপি কনস্ট্রাক্টরের মধ্যে পার্থক্য কী?


কপি কনস্ট্রাক্টর এবং অ্যাসাইনমেন্ট অপারেটরগুলি একটি অবজেক্টকে অন্য অবজেক্টে শুরু করতে ব্যবহৃত হয়। তাদের মধ্যে প্রধান পার্থক্য হল যে কপি কনস্ট্রাক্টর নতুন বস্তুর জন্য একটি পৃথক মেমরি ব্লক তৈরি করে। কিন্তু অ্যাসাইনমেন্ট অপারেটর নতুন মেমরি স্পেস তৈরি করে না। এটি পূর্ববর্তী মেমরি ব্লক নির্দেশ করতে রেফারেন্স ভেরিয়েবল ব্যবহার করে।

কপি কনস্ট্রাক্টর (সিনট্যাক্স)

classname (const classname &obj) {
   // body of constructor
}

অ্যাসাইনমেন্ট অপারেটর (সিনট্যাক্স)

classname Ob1, Ob2;
Ob2 = Ob1;

আসুন আমরা কপি কনস্ট্রাক্টর এবং অ্যাসাইনমেন্ট অপারেটরের মধ্যে বিস্তারিত পার্থক্য দেখি।


কপি কনস্ট্রাক্টর
অ্যাসাইনমেন্ট অপারেটর
কপি কনস্ট্রাক্টর মূলত একটি ওভারলোডেড কনস্ট্রাক্টর
অ্যাসাইনমেন্ট অপারেটর মূলত একজন অপারেটর।
এটি ইতিমধ্যে বিদ্যমান বস্তুর সাথে নতুন অবজেক্টকে আরম্ভ করে
এটি একটি অবজেক্টের মান অন্য অবজেক্টের জন্য বরাদ্দ করে যে দুটিই ইতিমধ্যে বিদ্যমান।
কপি কনস্ট্রাক্টর ব্যবহার করা হয় যখন কিছু বিদ্যমান বস্তুর সাথে একটি নতুন বস্তু তৈরি করা হয়
এই অপারেটরটি ব্যবহার করা হয় যখন আমরা বিদ্যমান অবজেক্টকে নতুন অবজেক্টে বরাদ্দ করতে চাই।
উভয় বস্তুই পৃথক মেমরি অবস্থান ব্যবহার করে।
একটি মেমরি অবস্থান ব্যবহার করা হয় কিন্তু বিভিন্ন রেফারেন্স ভেরিয়েবল একই অবস্থানের দিকে নির্দেশ করে।
কোন কপি কনস্ট্রাক্টর ক্লাসে সংজ্ঞায়িত না থাকলে, কম্পাইলার একটি প্রদান করে।
অ্যাসাইনমেন্ট অপারেটর ওভারলোড না হলে বিটওয়াইজ কপি তৈরি করা হবে


  1. সি ++ এ সিন এবং কাউট স্ট্রিমের মধ্যে পার্থক্য কী?

  2. C++ এ ++i এবং i++ এর মধ্যে পার্থক্য কী?

  3. C++ এ ডট (.) অপারেটর এবং -> এর মধ্যে পার্থক্য কী?

  4. পাইথনে =এবং ==অপারেটরগুলির মধ্যে পার্থক্য কী?