std::unique_ptr
, std::shared_ptr
, std::weak_ptr
, std::auto_ptr
(устарел в C++11 и удален в C++17).
std::unique_ptr
: Эксклюзивное владение ресурсом. Ресурс освобождается, когда указатель выходит из области видимости или сбрасывается. Не допускает копирования, только перемещение.
cpp
std::shared_ptr
: Совместное владение ресурсом. Использует счетчик ссылок. Ресурс освобождается, когда последний shared_ptr
, указывающий на него, выходит из области видимости или сбрасывается. Поддерживает копирование.
cpp
std::weak_ptr
: Не владеет ресурсом и не увеличивает счетчик ссылок shared_ptr
. Используется для предотвращения циклических ссылок между shared_ptr
. Для доступа к ресурсу необходимо получить shared_ptr
с помо
std::unique_ptr
, std::shared_ptr
, std::weak_ptr
, std::auto_ptr
(устарел в C++11 и удален в C++17).
std::unique_ptr
: Эксклюзивное владение ресурсом. Ресурс освобождается, когда указатель выходит из области видимости или сбрасывается. Не допускает копирования, только перемещение.
cpp
std::shared_ptr
: Совместное владение ресурсом. Использует счетчик ссылок. Ресурс освобождается, когда последний shared_ptr
, указывающий на него, выходит из области видимости или сбрасывается. Поддерживает копирование.
cpp
std::weak_ptr
: Не владеет ресурсом и не увеличивает счетчик ссылок shared_ptr
. Используется для предотвращения циклических ссылок между shared_ptr
. Для доступа к ресурсу необходимо получить shared_ptr
с помо
Register or sign in to get access to full answers for all questions from the question bank.