Oracle Solaris Studio 12.2:C++ 用户指南

13.2 iostream 交互的基本结构

通过将 iostream 库包括进来,程序可以使用许多输入流或输出流。每个流都具有某些源或接收器,如下所示:

流可以被限定到输入或输出,或同时具有输入和输出。iostream 库使用两个处理层来实现这些流。

标准输入、输出和错误由从类 istreamostream 派生的特殊类对象处理。

分别从 istreamostreamiostream 派生的 ifstreamofstreamfstream 类用于处理文件的输入和输出。

分别从 istreamostreamiostream 派生的 istrstreamostrstreamstrstream 类用于处理字符数组的输入和输出。

打开输入或输出流时,要创建其中一种类型的对象,并将流的 streambuf 成员与设备或文件关联。通常通过流构造函数执行此关联,因此不用直接使用 streambufiostream 库为标准输入、标准输出和错误输出预定义了流对象,因此不必为这些流创建自己的对象。

可以使用运算符或 iostream 成员函数将数据插入流(输出)或从流(输入)提取数据,以及控制插入或提取的数据的格式。

如果要插入和提取新的数据类型(其中一个类),通常需要重载插入和提取运算符。