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
            
            
             ;
            
           
           
          | 
         (since C++11) | |
Equivalent to use_count ( ) == 0 . The destructor for the managed object 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 otherwise.
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.
       
#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)  |