std::weak_ptr<T>:: expired
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Member functions | ||||
| Modifiers | ||||
| Observers | ||||
|
weak_ptr::expired
|
||||
|
(C++26)
|
||||
|
(C++26)
|
||||
| Non-member functions | ||||
| Helper classes | ||||
|
(C++20)
|
||||
| Deduction guides (C++17) |
|
bool
expired
(
)
const
noexcept
;
|
(seit C++11) | |
Entspricht use_count ( ) == 0 . Der Destruktor des verwalteten Objekts wurde möglicherweise noch nicht aufgerufen, aber die Zerstörung dieses Objekts steht unmittelbar bevor (oder könnte bereits stattgefunden haben).
Inhaltsverzeichnis |
Parameter
(keine)
Rückgabewert
true falls das verwaltete Objekt bereits gelöscht wurde, false andernfalls.
Hinweise
Wenn das verwaltete Objekt zwischen Threads geteilt wird, ist es nur dann aussagekräftig, wenn
expired()
true zurückgibt.
Beispiel
Demonstriert, wie
expired
verwendet wird, um die Gültigkeit des Zeigers zu überprüfen.
#include <iostream> #include <memory> std::weak_ptr<int> gw; void f() { if (!gw.expired()) std::cout << "gw is valid\n"; else std::cout << "gw is expired\n"; } int main() { { auto sp = std::make_shared<int>(42); gw = sp; f(); } f(); }
Ausgabe:
gw is valid gw is expired
Siehe auch
erstellt einen
shared_ptr
, der das referenzierte Objekt verwaltet
(öffentliche Elementfunktion) |
|
gibt die Anzahl der
shared_ptr
-Objekte zurück, die das Objekt verwalten
(öffentliche Elementfunktion) |