ios_base( const ios_base& );
ios_base( const ios_base& ) = delete;
std::ios_base. The internal state is undefined after the construction. The derived class must call std::basic_ios::init() to complete initialization before first use or before destructor; otherwise the behavior is undefined.
The same applies to the constructors of the next class in the I/O hierarchy, std::basic_ios. Further-derived classes (std::istream and std::ostream) are always constructed with a concrete stream buffer object and call std::basic_ios::init(), possibly more than once, to complete initialization of their virtual base.
 Defect reports
The following behavior-changing defect reports were applied retroactively to previously published C++ standards.
|DR||Applied to||Behavior as published||Correct behavior|
|LWG 50||C++98||the copy constructor was not specified||specified as private|
|LWG 220||C++98|| the behavior of destroying a
object before calling its init() was not clear
| the behavior is|
undefined in this case
|LWG 1249||C++98||initialization did not need to be completed before first use||also needs to be completed|