Namespaces
Variants

std::weak_ptr<T>:: operator=

From cppreference.net
Memory management library
( exposition only* )
Allocators
Uninitialized memory algorithms
Constrained uninitialized memory algorithms
Memory resources
Uninitialized storage (until C++20)
( until C++20* )
( until C++20* )
( until C++20* )

Garbage collector support (until C++23)
(C++11) (until C++23)
(C++11) (until C++23)
(C++11) (until C++23)
(C++11) (until C++23)
(C++11) (until C++23)
(C++11) (until C++23)
weak_ptr & operator = ( const weak_ptr & r ) noexcept ;
(1) (desde C++11)
template < class Y >
weak_ptr & operator = ( const weak_ptr < Y > & r ) noexcept ;
(2) (desde C++11)
template < class Y >
weak_ptr & operator = ( const shared_ptr < Y > & r ) noexcept ;
(3) (desde C++11)
weak_ptr & operator = ( weak_ptr && r ) noexcept ;
(4) (desde C++11)
template < class Y >
weak_ptr & operator = ( weak_ptr < Y > && r ) noexcept ;
(5) (desde C++11)

Reemplaza el objeto gestionado por el gestionado por r . El objeto es compartido con r . Si r no gestiona ningún objeto, * this tampoco gestiona ningún objeto.

1-3) Equivalente a std:: weak_ptr < T > ( r ) . swap ( * this ) .
4,5) Equivalente a std:: weak_ptr < T > ( std :: move ( r ) ) . swap ( * this ) .

Contenidos

Parámetros

r - puntero inteligente para compartir un objeto con

Valor de retorno

* this

Notas

La implementación puede cumplir con los requisitos sin crear un objeto temporal weak_ptr .

Informes de defectos

Los siguientes informes de defectos que modifican el comportamiento se aplicaron retroactivamente a los estándares publicados anteriormente de C++.

DR Se aplica a Comportamiento publicado Comportamiento correcto
LWG 2315 C++11 la semántica de movimiento no estaba habilitada para weak_ptr habilitada

Véase también

crea un nuevo weak_ptr
(función miembro pública)
intercambia los objetos gestionados
(función miembro pública)