std::shared_ptr::~shared_ptr
From cppreference.com
                    
                                        
                    < cpp | memory | shared ptr
                    
                                                            
                    |   ~shared_ptr(); 
 | 
||
If *this owns an object and it is the last shared_ptr owning it, the object is destroyed through the owned deleter. 
After the destruction, the smart pointers that shared ownership with *this, if any, will report a use_count() that is one less than its previous value.
[edit] Example
| This section is incomplete Reason: no example  | 
[edit] See also
  destroys a weak_ptr (public member function of std::weak_ptr) 
 |