std::auto_ptr<T>::reset
From cppreference.com
                    
                                        
                    
                    
                                                            
                    |   void reset( T* p = 0 ) throw();  | 
 (deprecated in C++11)  (removed in C++17)  | 
|
Replaces the held pointer by p. If the currently held pointer is not null pointer, delete get() is called.
Parameters
| p | - | a pointer to an object to manage | 
Return value
(none)
See also
|    releases ownership of the managed object  (public member function)  |