std::basic_iostream<CharT,Traits>::basic_iostream
来自cppreference.com
< 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() == sb 且 gcount() == 0。2) 不允许复制构造。
3) 移动构造函数:以 basic_istream<CharT,Traits>(std::move(rhs)); 移动构造第一基类
basic_istream
,这会继续移动构造并初始化虚基类 std::basic_ios。因为移动构造不能两次使用 rhs
,另一基类 basic_ostream
的初始化是实现定义的(例如,可以添加不做任何事的受保护默认构造函数到 std::basic_ostream)。此移动构造函数受保护:派生流类 std::basic_fstream 和 std::basic_stringstream 的移动构造函数在它们移动并关联流缓冲前调用它。参数
sb | - | 用以初始化的 streambuf
|
other | - | 用以初始化的另一流 |
参阅
(C++11) |
移动赋值另一 basic_iostream (受保护成员函数) |