std::ios_base::ios_base

< cpp‎ | io‎ | ios base
(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::istreamstd::ostream )始终以具体的 streambuffer 构造,并可能多于一次调用 basic_ios::init() ,以完成其虚基类的初始化。