std::auto_ptr против std::tr1::shared_ptr

Возможный дубликат:
Какой тип указатель использовать когда?

Я читал, что std::auto_ptr устарело, поэтому вместо него нужно использовать std::tr1::shared_ptr. Как я читал, разница в том, что std::tr1::shared_ptr имеет подсчет ссылок, а std::auto_ptr нет, поэтому копирование или назначение приводит к тому, что ресурс меняет своего владельца, а источник передает право собственности получателю. Это единственная разница?


person Alecs    schedule 07.06.2012    source источник


Ответы (1)


Интеллектуальный указатель, который ближе всего соответствует семантике единого владельца auto_ptr, — это std::unique_ptr. . Его следует использовать предпочтительнее, чем std::shared_ptr, если он доступен. См. здесь.

person juanchopanza    schedule 07.06.2012
comment
@Fanael, спасибо, что заметили это! - person juanchopanza; 07.06.2012