ОБНОВЛЕНИЕ: Этот ответ был написан в 2010 году и, как и ожидалось, std::auto_ptr
устарел. Совет полностью действителен.
В C ++ 0x std::auto_ptr
будет устаревшим в пользу std::unique_ptr
. Выбор интеллектуального указателя будет зависеть от вашего варианта использования и ваших требований: std::unique_ptr
с семантикой перемещения для одного владельца, которую можно использовать внутри контейнеров (с использованием семантики перемещения), и std::shared_ptr
при совместном владении.
Вы должны попытаться использовать интеллектуальный указатель, который наилучшим образом соответствует ситуации, выбор правильного типа указателя дает другим программистам понимание вашего дизайна.