FreeBSD Manual Pages
std::weak_ptr::expired(3) C++ Standard Libary std::weak_ptr::expired(3) NAME std::weak_ptr::expired - std::weak_ptr::expired Synopsis bool expired() const noexcept; (since C++11) Equivalent to use_count() == 0. The destructor for the managed ob- ject may not yet have been called, but this object's destruction is imminent (or may have already happened). Parameters (none) Return value true if the managed object has already been deleted, false other- wise. Notes This function is inherently racy if the managed object is shared among threads. In particular, a false result may become stale before it can be used. A true result is reliable. 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 lock creates a shared_ptr that manages the referenced object (public member function) use_count returns the number of shared_ptr objects that manage the object (public member function) http://cppreference.com 2022.07.31 std::weak_ptr::expired(3)
NAME | Synopsis | Parameters | Return value | Notes | Example | Output: | See also
Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=std::weak_ptr::expired&sektion=3&manpath=FreeBSD+Ports+15.0>
