প্রচলিত সি ++ এ, ফাংশন এবং পদ্ধতিগুলিতে মান দ্বারা প্রেরণ করা বড় অবজেক্টগুলির জন্য ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে পড়ে থাকে। পরিবর্তে, সি ++ প্রোগ্রামাররা চারপাশে রেফারেন্সগুলি প্রবাহিত করে, এটি দ্রুত, তবে এটি মালিকানা এবং বিশেষত মেমরি পরিচালনার আশেপাশে (বস্তুটি গাদা-বরাদ্দ হওয়া ইভেন্টে) বিভিন্ন ধরণের জটিল প্রশ্নগুলির প্রবর্তন করে)
এখন, সি ++ ১১-এ, আমরা মূল্যবোধের রেফারেন্স এবং মুভ কনস্ট্রাক্টর পেয়েছি যার অর্থ std::vector
একটি ফাংশনের মধ্যে এবং মূল্য থেকে বেরিয়ে আসা সস্তা যে কোনও বৃহত অবজেক্ট (এর মতো ) কার্যকর করা সম্ভব ।
সুতরাং, এর অর্থ কি ডিফল্টরূপে যেমন std::vector
এবং এর উদাহরণগুলির জন্য মান দ্বারা পাস করা উচিত std::string
? কাস্টম অবজেক্টের জন্য কী? নতুন সেরা অনুশীলন কি?
const std::string&
এবং অনুলিপি হিসাবে নয়। এর পরে প্রথম থ্রেডটি বেরিয়েছে ...
pass by reference ... which introduces all sorts of complicated questions around ownership and especially around memory management (in the event that the object is heap-allocated)
। আমি বুঝতে পারি না মালিকানার পক্ষে এটি কীভাবে জটিল বা সমস্যা? আমি কি কিছু মিস করতে পারি?