bool expired() const; | (since C++11) |
Checks whether the managed object has already been deleted. Equivalent to use_count() == 0.
Parameters
(none).
Return value
true if the managed object has already been deleted, false otherwise.
Exceptions
noexcept specification: noexceptExample
Demonstrates how expired is used to check validity of the pointer.
#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) |
Please login to continue.