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) (depuis C++11)
template < class Y >
weak_ptr & operator = ( const weak_ptr < Y > & r ) noexcept ;
(2) (depuis C++11)
template < class Y >
weak_ptr & operator = ( const shared_ptr < Y > & r ) noexcept ;
(3) (depuis C++11)
weak_ptr & operator = ( weak_ptr && r ) noexcept ;
(4) (depuis C++11)
template < class Y >
weak_ptr & operator = ( weak_ptr < Y > && r ) noexcept ;
(5) (depuis C++11)

Remplace l'objet géré par celui géré par r . L'objet est partagé avec r . Si r ne gère aucun objet, * this ne gère également aucun objet.

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

Table des matières

Paramètres

r - pointeur intelligent pour partager un objet avec

Valeur de retour

* this

Notes

L'implémentation peut satisfaire aux exigences sans créer un objet temporaire weak_ptr .

Rapports de défauts

Les rapports de défauts modifiant le comportement suivants ont été appliqués rétroactivement aux normes C++ précédemment publiées.

DR Applicable à Comportement publié Comportement corrigé
LWG 2315 C++11 la sémantique de déplacement n'était pas activée pour weak_ptr activée

Voir aussi

crée un nouveau weak_ptr
(fonction membre publique)
échange les objets gérés
(fonction membre publique)