std::weak_ptr<T>:: operator=
From ru.cppreference.net
|
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++.
| DR | Applied to | Behavior as published | Correct behavior |
|---|---|---|---|
| LWG 2315 | C++11 |
move semantic was not enabled for
weak_ptr
|
enabled |
Смотрите также
создает новый
weak_ptr
(публичная функция-член) |
|
|
обменивает управляемые объекты
(публичная функция-член) |