আমি জিসিসিতে -std=c++0x
পতাকা সহ আমার নিজের কিছু কোড সংকলন করছি , কারণ আমি সমস্ত তরুণ লোকেরা যা করছে তা অস্পষ্টভাবে রাখতে চাই (তারা যদি আমার লনের কাছে থাকে) তবে আমি অনেক সাবধানবাণী দিয়ে শেষ করেছি auto_ptr
অবচয় করা হচ্ছে সম্পর্কে । অবশ্যই, আমি জানতাম যে auto_ptr
সি ++ 0x এ অবমূল্যায়ন করা হয়েছিল, কিন্তু ...
অবচয় কি সময় ও শ্রমের অপচয় নয়? অবচয় না করার কারণ (উদাহরণ হিসাবে অটো_পটার সহ):
কোডের একটি সমুদ্র আছে যা এখনও সমর্থন করা দরকার, লক্ষ লক্ষ সতর্কতা তৈরি করে মানুষ কেবল সতর্কতা বন্ধ করতে প্ররোচিত করবে।
auto_ptr
কিছুটা নাফ, তবে এটি টিনে যা বলে তা আসলে তা করে।আমরা যদি সত্যই জিনিসগুলি হ্রাস করতে চাই, আমি মনোনীত করি
printf()
। তবে কেবল অনুমান করা স্কেলালগুলি কল্পনা করুন।auto_ptr
খুব বেশি বন্ধু নেই, তবে কমপক্ষে আমার সি ++ কোডে এটি এর চেয়ে বেশিprintf
ব্যবহৃত হয়, যা মোটেই ব্যবহৃত হয় না।কমিটির এই অধিকার পাওয়ার খারাপ রেকর্ড রয়েছে - তারা নামস্থলের সুযোগে স্থিতিশীল অবমূল্যায়ন করেছিল এবং এখন মনে হয় এটিকে অবমূল্যায়ন করা হয়েছে -
auto_ptr
অনুরূপ ফিরে আসা হলে আমি অবাক হব নাশেষ অবধি, কমিটি যাই বলুক না কেন, সংকলক প্রয়োগকারীরা এগুলি উপেক্ষা করে - তারা কেবল তাদের গ্রাহকদের কোড ভঙ্গ করার ঝুঁকি নিতে পারে না, তারা যা করতে পারে তা বিরক্তিকর সতর্কতা জারি করে।
সুতরাং আমার প্রশ্ন - আপনি অবচয়কে বিবেচনা করেন (যে কোনও কিছুর জন্য, কেবল অটো_পিটার নয়, এবং কেবল সি ++ তেও নয়) একটি ভাল ধারণা, এবং যদি তাই হয় তবে কেন?
unique_ptr
এবং আরও সুখী হন।
auto_ptr
হিসাবে উদাহরণ হিসাবে ব্যবহার করে পড়েছি ।