Junior
23
0
questionbank

Какие умные указатели (smart pointers) вы знаете?

Answer from sobes.tech neural network

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.

smart-pointersmemory-managementresource-managementownership