std::weak_ptr<T>::expired
From cppreference.com
C++
Memory management library
|
|
|
std::weak_ptr
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; |
(since C++11) | |
Equivalent to use_count() == 0
Parameters
(none)
Return value
true if the managed object has already been deleted, false
Notes
If the managed object is shared among threads, it is only meaningful when expired()
returns true.
Example
Demonstrates how expired
is used to check validity of the pointer.
Run this code
#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(); }
Output:
gw is valid gw is expired
See also
creates a shared_ptr that manages the referenced object (public member function) |
|
returns the number of shared_ptr objects that manage the object (public member function) |