std::ios_base::ios_base
来自cppreference.com
| (1) | ||
| private: ios_base( const ios_base& ); |
(C++11 前) | |
| public: ios_base( const ios_base& ) = delete; |
(C++11 起) | |
| protected: ios_base(); |
(2) | |
1) 复制构造函数被删除:流不可复制
2) 默认构造函数受保护:只有导出类可构造 std::ios_base 。构造后内部状态未定义。导出类必须在首次使用或析构函数前调用 basic_ios::init() 完成初始化;否则行为未定义。
注意
同样的情况应用于 I/O 层级中的下个类 std::basic_ios 的构造函数。进一步导出的类( std::istream 与 std::ostream )始终以具体的 streambuffer 构造,并可能多于一次调用 basic_ios::init() ,以完成其虚基类的初始化。