std::ios_base::ios_base

(1)
private:
ios_base( const ios_base& );
(until C++11)
public:
ios_base( const ios_base& ) = delete;
(since C++11)
protected:
ios_base();
(2)

1) The copy constuctor is deleted: streams are not copyable.

2) The default constructor is protected: only derived classes may construct std::ios_base. The internal state is undefined after the construction. The derived class must call basic_ios::init() to complete initialization before first use or before destructor, otherwise the behavior is undefined.

Notes

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 streambuffer object and call basic_ios::init(), possibly more than once, to complete initialization of their virtual base.

doc_CPP
2016-10-11 10:03:26
Comments
Leave a Comment

Please login to continue.