std::basic_iostream::basic_iostream
explicit basic_iostream( std::basic_streambuf<CharT,Traits>* sb ); | (1) | |
---|---|---|
basic_iostream( const basic_iostream& other ) = delete; | (2) | (since C++11) |
protected: basic_iostream( basic_iostream&& other ); | (3) | (since C++11) |
构造新的流对象。
1%29用Streambuf初始化sb
基类初始化为basic_istream<CharT,Traits>(sb)
和basic_ostream<CharT,Traits>(sb)
.打完电话后rdbuf() == sb
和gcount() == 0
...
2%29复制构造是不允许的。
3%29移动构造函数:移动-构造第一个基类basic_istream
如basic_istream<CharT,Traits>(std::move(rhs));
,然后移动-构造并初始化虚拟基。std::basic_ios
另一个基地的初始化,basic_ostream
,是实现定义的%28e。,则可以将受保护的默认构造函数添加到std::basic_ostream
,因为移动构造不能使用rhs
两次。此移动构造函数是受保护的:它由派生流类的移动构造函数调用。std::basic_fstream
和std::basic_stringstream
在它们移动之前-构造和关联流缓冲区。
参数
sb | - | streambuf to initialize with |
---|---|---|
other | - | another stream to initialize with |
另见
operator= (C++11) | move-assigns another basic_iostream (protected member function) |
---|
© cppreference.com
在CreativeCommonsAttribution下授权-ShareAlike未移植许可v3.0。
本文档系腾讯云开发者社区成员共同维护,如有问题请联系 cloudcommunity@tencent.com