std::weak_ptr::lock – cppreference.com
Aus cppreference.com
<tbody> </tbody>
|
|
(seit C++11) | |
Erstellt einen neuen std::shared_ptr, welcher das Eigentum des verwalteten Objekts teilt. Wenn kein verwaltetes Objekt existiert, d.h. *this leer ist, dann ist der zurückgegebene shared_ptr auch ist leer.
Effektiv wird expired() ? shared_ptr<T>() : shared_ptr<T>(*this) atomar ausgeführt und zurückgegeben.
Parameter
(keine)
Rückgabewert
Ein shared_ptr welcher das Eigentum teilt.
Ausnahmen
Notes
Sowohl diese Funktion also auch der Konstruktor des shared_ptr kann verwendet werden, um vorübergehende Besitz des verwalteten Objekts zu erwerben. Der Unterschied ist, dass der Konstruktor std::shared_ptr<T> eine Exception wirft, wenn der std::weak_ptr leer ist, während std::weak_ptr<T>::lock() eine leere std::shared_ptr<T> konstruiert.
Beispiel
Siehe auch
| prüft, ob das referenzierte Objekt bereits gelöscht wurde (öffentliche Elementfunktion) [edit] | |