Namespaces
Variants

std::experimental::weak_ptr<T>:: weak_ptr

From cppreference.net
constexpr weak_ptr ( ) noexcept ;
(1) (библиотека fundamentals TS)
weak_ptr ( const weak_ptr & r ) noexcept ;
(2) (библиотека fundamentals TS)
template < class Y >
weak_ptr ( const weak_ptr < Y > & r ) noexcept ;
(2) (библиотека fundamentals TS)
template < class Y >
weak_ptr ( const std:: experimental :: shared_ptr < Y > & r ) noexcept ;
(2) (библиотека fundamentals TS)
weak_ptr ( weak_ptr && r ) noexcept ;
(3) (библиотека fundamentals TS)
template < class Y >
weak_ptr ( weak_ptr < Y > && r ) noexcept ;
(3) (библиотека fundamentals TS)

Создает новый weak_ptr , который потенциально разделяет объект с r .

1) Конструктор по умолчанию. Создает пустой weak_ptr .
2) Создает новый weak_ptr , который разделяет объект, управляемый r . Если r не управляет объектом, * this также не управляет объектом. Шаблонные перегрузки не участвуют в разрешении перегрузки, если только Y* не является неявно преобразуемым в T* , или Y не является типом "массив из N U " для некоторого типа U и некоторого числа N , и T не является типом "массив неизвестной границы из (возможно cv-квалифицированного) U ".
3) Конструкторы перемещения. Перемещает экземпляр weak_ptr из r в * this . После этого r становится пустым и r. use_count ( ) == 0 . Шаблонная перегрузка не участвует в разрешении перегрузки, если только Y* не является неявно преобразуемым в T* , или Y не является типом "массив из N U " для некоторого типа U и некоторого числа N , а T не является типом "массив неизвестной границы из (возможно, cv-квалифицированного) U ".

Содержание

Параметры

r - a std::experimental::shared_ptr или std::experimental::weak_ptr который будет просматриваться этим std::experimental::weak_ptr

Исключения

noexcept спецификация:
noexcept

Пример

Смотрите также

создаёт новый weak_ptr
(публичная функция-член std::weak_ptr<T> )
присваивает weak_ptr
(публичная функция-член std::weak_ptr<T> )