The header <iostream>
declares objects that associate objects with the
standard C streams provided for by the functions declared in
<cstdio>, and includes all the headers necessary to use these objects.
The objects are constructed and the associations are established at some
time prior to or during the first time an object of class
ios_base::Init is constructed, and in any case before the body
of main ([basic.start.main]) begins execution.
The objects are not destroyed during program execution.269
The results of including <iostream> in a translation unit shall be as if
<iostream> defined an instance of ios_base::Init with static
Each C++ library module ([std.modules]) in a hosted implementation
shall behave as if it contains an interface unit that
defines an unexported ios_base::Init variable with
ordered initialization ([basic.start.dynamic]).