Теперь, когда shared_ptr
находится в tr1, что, по-вашему, должно произойти с использованием std::auto_ptr
? Они оба имеют разные варианты использования, но все варианты использования auto_ptr
могут быть решены с помощью shared_ptr
. Вы откажетесь от auto_ptr
или продолжите использовать его в тех случаях, когда вы хотите явно выразить, что только один класс имеет право собственности в любой точке?
Я считаю, что использование auto_ptr
может добавить ясность в код, точно добавив нюанс и указание на дизайн кода, но, с другой стороны, он добавляет еще одну тонкую проблему при обучении новых программистов: им нужно понимать умные указатели и тонкие детали того, как они работают. Когда вы используете только один умный указатель повсюду, вы можете просто установить правило "обернуть все указатели в shared_ptr
" и сделать с ним.
Что вы берете на себя?