basic_iostream 类
可以完成输入和输出的流类。
语法
template <class Elem, class Tr = char_traits<Elem>>
class basic_iostream : public basic_istream<Elem, Tr>,
public basic_ostream<Elem, Tr>
{
public:
explicit basic_iostream(basic_streambuf<Elem, Tr>* strbuf);
virtual ~basic_iostream();
};
备注
这个类模板描述了一个对象,该对象通过其基类 basic_ostream<Elem
, Tr
> 控制插入,并通过其基类 basic_istream<Elem
, Tr
> 控制提取。 这两个对象共享一个公共的虚拟基类 basic_ios<Elem
, Tr
>。 他们还管理通用流缓冲区与类型为 Elem
的元素,其字符特征由类 Tr
确定。 构造函数会通过 basic_istream
( strbuf) 和 basic_ostream
( strbuf) 初始化其基类。
构造函数
构造函数 | 说明 |
---|---|
basic_iostream | 创建 basic_iostream 对象。 |
成员函数
成员函数 | 说明 |
---|---|
swap | 将所提供 basic_iostream 对象的内容与此对象的内容交换。 |
运算符
运算符 | 说明 |
---|---|
operator= | 将指定的 basic_iostream 对象的值分配给此对象。 这是一种移动赋值,所涉及的 rvalue 不会留下副本。 |
要求
标头:<istream>
命名空间: std
basic_iostream::basic_iostream
创建 basic_iostream
对象。
explicit basic_iostream(basic_streambuf<Elem, Tr>* strbuf);
basic_iostream(basic_iostream&& right);
basic_iostream();
参数
strbuf
一个现有的 basic_streambuf
对象。
right
用于构造新 basic_iostream
的现有 basic_iostream
对象。
备注
第一个构造函数通过 basic_istream(strbuf)
和 basic_ostream(strbuf)
初始化基对象。
第二个构造函数通过调用 move(right)
初始化基对象。
basic_iostream::operator=
将指定的 basic_iostream
对象的值赋给此对象。 这是一种移动赋值,所涉右值不会留下副本。
basic_iostream& operator=(basic_iostream&& right);
参数
right
对从其中进行赋值的 basic_iostream
对象的 rvalue
引用。
注解
成员运算符调用 swap(right)
。
basic_iostream::swap
将所提供 basic_iostream
对象的内容与此对象的内容交换。
void swap(basic_iostream& right);
参数
right
要交换的 basic_iostream
对象。
备注
此成员函数调用 swap(right)
。