Слабый_птр работает вместе с unique_ptr?

Как я понимаю, std::weak_ptr используется как безопасный способ обращения к памяти, на которую ссылается std::shared_ptr которые могли быть освобождены. Можно ли его использовать с std::unique_ptr также?

2

Решение

Насколько я понимаю, std :: weak_ptr используется как безопасный способ обращения к памяти, на которую ссылается shared_ptrs, которая могла быть освобождена.

Вы неправильно поняли. std::weak_ptr позволяет получить доступ к объекту, право собственности на которое поддерживается std::shared_ptr не делясь этим. Теперь, когда вы действительно понимаете, что std::weak_ptr Вы должны понимать, что ваш вопрос о std::unique_ptr не имеет никакого смысла.

5

Другие решения

Существует эквивалентный указатель, который действует как наблюдатель std::unique_ptr, но не обеспечит безопасность так же, как std::weak_ptr,

Этот указатель является необработанным указателем. Они безопасны в использовании, если не переживают уникального владельца.

Если вам нужно знать, закончилось ли время жизни владельца необработанного указателя, то нет, нет пути, и это не цель std::unique_ptr,

2

Нету.

К сожалению, вам придется использовать std::shared_ptrи документ, что std::weak_ptrs должен быть заблокирован только временно.

1

Нет.

Единственные конструкторы, доступные для weak_ptr те, которые принимают либо shared_ptr или другой weak_ptr,

http://en.cppreference.com/w/cpp/memory/weak_ptr/weak_ptr

0
По вопросам рекламы ammmcru@yandex.ru
Adblock
detector