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

Ersetzt das verwaltete Objekt durch das von r verwaltete Objekt. Das Objekt wird mit r geteilt. Wenn r kein Objekt verwaltet, verwaltet * this ebenfalls kein Objekt.

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

Inhaltsverzeichnis

Parameter

r - Smart Pointer zur gemeinsamen Nutzung eines Objekts mit

Rückgabewert

* this

Hinweise

Die Implementierung kann die Anforderungen erfüllen, ohne ein temporäres weak_ptr Objekt zu erstellen.

Fehlerberichte

Die folgenden verhaltensändernden Fehlerberichte wurden rückwirkend auf zuvor veröffentlichte C++-Standards angewendet.

DR Angewendet auf Verhalten wie veröffentlicht Korrektes Verhalten
LWG 2315 C++11 Move-Semantik war nicht aktiviert für weak_ptr aktiviert

Siehe auch

erstellt einen neuen weak_ptr
(öffentliche Elementfunktion)
tauscht die verwalteten Objekte
(öffentliche Elementfunktion)