public member function
<istream> <iostream>

std::basic_iostream::basic_iostream

初始化 (1)
explicit basic_iostream (basic_streambuf<char_type,traits_type>* sb);
初始化 (1)
explicit basic_iostream (basic_streambuf<char_type,traits_type>* sb);
复制 (2)
basic_iostream& (const basic_iostream&) = delete;
移动 (3)
protected: basic_iostream& (basic_iostream&& x);
构造对象
构造一个 basic_iostream 对象。

(1) 初始化构造函数
通过调用其基类 basic_istreambasic_ostream 的构造函数,并将 sb 作为参数,来为基类的组件赋初值。
注意,这会调用两次 basic_ios::init 成员函数。
(2) 复制构造函数 (已删除)
已删除:没有复制构造函数。
(3) 移动构造函数 (受保护)
获取 x 的内容,但不包括其关联的 *流缓冲区*:它通过将 move(x) 作为参数传递给 basic_istream 的构造函数来获取 x 的内容,将 x 的部分内部组件转移到本对象:调用后,xgcount 值为零,未被 *绑定*,其关联的 *流缓冲区* 未改变(x 的所有其他组件处于未指定但有效的状态)。

参数

sb
指向一个 basic_streambuf 对象的指针,该对象具有与 basic_iostream 对象相同的模板参数。
char_typetraits_type 是成员类型,分别定义为第一个和第二个类模板参数的别名(参见 basic_iostream 类型)。
x
另一个相同类型的 basic_iostream (具有相同的类模板参数 charTtraits)。

数据竞争

sb 指向的对象可能被访问和/或修改。

异常安全

如果抛出异常,唯一的副作用可能来自对 sb 的访问/修改。

另见