Пространства имён
Варианты
Действия

std::weak_ptr<T>::operator=

Материал из cppreference.com
< cpp‎ | memory‎ | weak ptr
 
 
Библиотека утилит
Языковая поддержка
Поддержка типов (базовые типы, RTTI)
Макросы тестирования функциональности библиотеки (C++20)    
Управление динамической памятью
Программные утилиты
Поддержка сопрограмм (C++20)
Вариативные функции
Трёхстороннее сравнение (C++20)
(C++20)
(C++20)(C++20)(C++20)(C++20)(C++20)(C++20)
Общие утилиты
Дата и время
Функциональные объекты
Библиотека форматирования (C++20)
(C++11)
Операторы отношения (устарело в C++20)
Целочисленные функции сравнения
(C++20)(C++20)(C++20)    
(C++20)
Операции обмена и типа
(C++14)
(C++11)
(C++11)
(C++11)
(C++17)
Общие лексические типы
(C++11)
(C++17)
(C++17)
(C++17)
(C++11)
(C++17)
(C++23)
Элементарные преобразования строк
(C++17)
(C++17)
 
Динамическое управление памятью
no section name
Ограниченные алгоритмы неинициализированной памяти
no section name
Поддержка сбора мусора
(C++11)(до C++23)
(C++11)(до C++23)
(C++11)(до C++23)
(C++11)(до C++23)
(C++11)(до C++23)
(C++11)(до C++23)



no section name
 
std::weak_ptr
Функции-элементы
weak_ptr::operator=
Модификаторы
Наблюдатели
Функции, не являющиеся элементами
Вспомогательные классы
Правила вывода(C++17)
 
weak_ptr& operator=( const weak_ptr& r ) noexcept;
(1) (начиная с C++11)
template< class Y >
weak_ptr& operator=( const weak_ptr<Y>& r ) noexcept;
(2) (начиная с C++11)
template< class Y >
weak_ptr& operator=( const shared_ptr<Y>& r ) noexcept;
(3) (начиная с C++11)
weak_ptr& operator=( weak_ptr&& r ) noexcept;
(4) (начиная с C++11)
template< class Y >
weak_ptr& operator=( weak_ptr<Y>&& r ) noexcept;
(5) (начиная с C++11)

Заменяет управляемый объект объектом, управляемым r. Объект используется совместно с r. Если r не управляет никаким объектом, *this также не управляет никаким объектом.

1-3) Эквивалентно std::weak_ptr<T>(r).swap(*this).
4,5) Эквивалентно std::weak_ptr<T>(std::move(r)).swap(*this).

Содержание

[править] Параметры

r умный указатель для совместного использования объекта

[править] Возвращаемое значение

*this

[править] Примечание

Реализация может соответствовать требованиям без создания временного объекта weak_ptr.

[править] Отчёты о дефектах

Следующие изменения поведения были применены с обратной силой к ранее опубликованным стандартам C++:

Номер Применён Поведение в стандарте Корректное поведение
LWG 2315 C++11 семантика перемещения не была доступна для weak_ptr доступна

[править] Смотрите также

создаёт новый weak_ptr
(public функция-элемент) [править]
меняет местами управляемые объекты
(public функция-элемент) [править]