Constructors and Destructors for Objects in Global Scope
Constructors are called for objects defined in global scope (also called global namespace scope) before any other function (including
main) in that program begins execution (although the order of execution of global object constructors between files is not guaranteed). The corresponding destructors are called when
main terminates. Function exit forces a program to terminate immediately and does not execute the destructors of local objects. The
exit function often is used to terminate a program when a fatal unrecoverable error occurs. Function abort performs similarly to function
exit but forces the program to terminate immediately, without allowing the destructors of any objects to be called. ...