Namensräume
Varianten
Aktionen

std::weak_ptr<T>:operator=

Von cppreference.com
< cpp‎ | memory‎ | weak ptr
 
 
Speicherverwaltungsbibliothek
(nur Exposition*)
Algorithmen für uninitialisierten Speicher
(C++17)
(C++17)
(C++17)
Beschränkte uninitialisierte
Speicher-Algorithmen
C-Bibliothek

Allocatoren
Speicherressourcen
Unterstützung für Garbage Collection
(C++11)(bis C++23)
(C++11)(bis C++23)
(C++11)(bis C++23)
(C++11)(bis C++23)
(C++11)(bis C++23)
(C++11)(bis C++23)
Uninitialisierter Speicher
Explizites Lebenszeitmanagement
 
 
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. Das Objekt wird mit r geteilt. Wenn r kein Objekt verwaltet, verwaltet *this ebenfalls kein Objekt.

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

Inhalt

[edit] Parameter

r - Smartpointer zum Teilen eines Objekts mit

[edit] Rückgabewert

*this

[edit] Hinweise

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

[edit] Fehlerberichte

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

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

[edit] Siehe auch

erstellt einen neuen weak_ptr
(public member function) [edit]
Vertauscht die verwalteten Objekte
(public member function) [edit]