bool expired() const; | (since C++11) |
Checks whether the managed object has already been deleted. Equivalent to use_count() == 0.
(none).
true if the managed object has already been deleted, false otherwise.
noexcept specification: noexceptDemonstrates 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
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) |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
http://en.cppreference.com/w/cpp/memory/weak_ptr/expired