std::atexit
From cppreference.com
                    
                                        
                    
                    
                                                            
                    |   Defined in header <cstdlib>
   | 
||
|   extern "C"   int atexit( void (*func)() ); extern "C++" int atexit( void (*func)() );  | 
||
Registers the function pointed to by func to be called on normal program termination (via exit() or returning from main()).
Calling the function from several threads does not induce a data race. The implementation shall support the registration of at least 32 functions.
Contents | 
[edit] Parameters
| func | - | pointer to a function to be called on normal program termination | 
[edit] Return value
0 if the registration succeeds, nonzero value otherwise.
[edit] Exceptions
[edit] Example
| This section is incomplete Reason: no example  | 
[edit] See also
|    (C++11)  | 
   registers a function to be called on quick_exit invocation   (function)  | 
|   C documentation for atexit 
 | |