এটি একটি নাল পয়েন্টার মুছে ফেলা নিরাপদ?
এবং এটি কি একটি ভাল কোডিং শৈলী?
make_shared
(C ++ 11) এবং make_unique
(C ++ 14) আপনার প্রোগ্রাম থাকা উচিত শূন্য এর new
এবংdelete
new
বা delete
। সংস্থানগুলি পরিচালনা করার জন্য ডিজাইন করা ক্লাসগুলি, যেখানে স্ট্যান্ডার্ড উপাদানগুলি কাজটি করতে পারে না, অবশ্যই তাদের যা করা দরকার তা করতে পারে, তবে মূল বিষয়টি হ'ল তারা কুশরী জিনিসগুলি তাদের মেমরির সাথে পরিচালনা করে, শেষ ব্যবহারকারী কোড নয় user সুতরাং, আপনার নিজের লাইব্রেরি / সাহায্যকারী বর্গ করতে করতে new
/ delete
, এবং তাদের পরিবর্তে যে বর্গ ব্যবহার করুন।
delete
। ব্যবহারের RAII পরিবর্তে। এটিরstd::vector<T> v(100);
পরিবর্তে ব্যবহার করুনT* p = new T[100];
, স্মার্ট পয়েন্টারগুলি ব্যবহার করুনunique_ptr<T>
এবংshared_ptr<T>
এটি কাঁচা পয়েন্টার ইত্যাদির পরিবর্তে মুছে ফেলার যত্ন নিন