std::basic_iostream<CharT,Traits>::basic_iostream

< cpp‎ | io‎ | basic iostream
explicit basic_iostream( std::basic_streambuf<CharT,Traits>* sb );
(1)
basic_iostream( const basic_iostream& other ) = delete;
(2) (C++11 起)
protected:
basic_iostream( basic_iostream&& other );
(3) (C++11 起)

构造新的流对象。

1) 以 streambuf sb 初始化。基类初始化为 basic_istream<CharT,Traits>(sb)basic_ostream<CharT,Traits>(sb) 。调用后 rdbuf() == sbgcount() == 0
2) 不允许复制构造。
3) 移动构造函数:移动构造第一基类 basic_istreambasic_istream<CharT,Traits>(std::move(rhs)); ,这会继续移动构造并初始化虚基类 std::basic_ios 。另一基类 basic_ostream 的初始化是实现定义的(例如,可以添加不做任何事的受保护默认构造函数到 std::basic_ostream ),因为移动构造不能使用 rhs 二次。此移动构造函数受保护:它为导出流类 std::basic_fstreamstd::basic_stringstream 的移动构造函数在它们移动并关联流缓冲前调用。

参数

sb - 用以初始化的 streambuf
other - 用以初始化的另一流

参阅

(C++11)
移动赋值另一 basic_iostream
(受保护成员函数)