std::enable_shared_from_this<T>::weak_from_this
std::weak_ptr<T> weak_from_this() noexcept; | (1) | (since C++17) |
std::weak_ptr<T const> weak_from_this() const noexcept; | (2) | (since C++17) |
Возвращает std::weak_ptr<T>, который отслеживает владение *this всеми существующими std::shared_ptr, которые ссылаются на *this.
Результат
std::weak_ptr<T>, который разделяет владение *this с уже существующими std::shared_ptr.
Примечания
weak_from_this копирует только член weak_ptr, который является частью enable_shared_from_this.
| Макрос проверки возможности использования функции | Значение | Стандарт | Функция |
|---|---|---|---|
__cpp_lib_enable_shared_from_this | 201603L | (C++17) |
std::enable_shared_from_this::weak_from_this |
Пример
См. также
|
(C++11) | умный указатель с семантикой совместного владения объектом (шаблон класса) |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/cpp/memory/enable_shared_from_this/weak_from_this