কম্পিউটার

কপি এলিশন এবং রিটার্ন মান অপ্টিমাইজেশান কি?


কপি elision হল একটি অপ্টিমাইজেশান যা বেশিরভাগ কম্পাইলার দ্বারা প্রয়োগ করা হয় কিছু নির্দিষ্ট পরিস্থিতিতে অতিরিক্ত (সম্ভাব্যভাবে ব্যয়বহুল) কপি প্রতিরোধ করার জন্য। তাই আপনার যদি এমন কিছু কোড থাকে যা ব্যবহার না করা বস্তু তৈরি করছে বা পার্শ্বপ্রতিক্রিয়া নেই,

উদাহরণ

struct MyStruct {
   MyStruct() {}
   MyStruct(const MyStruct&) {
      std::cout << "Copied.\n";
   }
};
MyStruct f() {
    return MyStruct();
}
int main() {
   std::cout << "Main\n";
   MyStruct obj = f();
}

আউটপুট

আপনি কম্পাইলার এবং সেটিংস −

এর উপর ভিত্তি করে নিম্নলিখিত আউটপুট পেতে পারেন
Main

Main
Copied
Copied

Main
Copied

এর মানে আপনার প্রত্যাশার চেয়ে কম বস্তু তৈরি করা যেতে পারে, তাই আপনি একটি নির্দিষ্ট সংখ্যক কনস্ট্রাক্টর এবং ডেস্ট্রাক্টরকে কল করার উপর নির্ভর করতে পারবেন না। কপি/মুভ-কনস্ট্রাক্টর বা ডেস্ট্রাক্টরদের মধ্যে আপনার সমালোচনামূলক যুক্তি থাকা উচিত নয়, কারণ আপনি তাদের ডাকার উপর নির্ভর করতে পারবেন না।


  1. C# 8.0-এ Async স্ট্রীমগুলি কী কী?

  2. C# এর ধরন কি কি?

  3. C# এ রেফ এবং আউট প্যারামিটারের মধ্যে পার্থক্য কী?

  4. C# এ ডেটা প্রকার, মান প্রকার এবং রেফারেন্স প্রকারগুলি কী কী?