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)

另请参阅

C++ 标准库中的线程安全
iostream 编程
iostreams 约定