这个体系中的class职责如下:
*ios_base:定义stream classes的所有“与字符类型以及相应的字符特性(traits)无关”的属性,主要包含状态和格式标志等组件和函数。
*basic_ios<>:定义“与字符类型以及相应的字符特性(traits)相关”的stream classes共同属性,其中包括stream所用的缓冲器。
*basic_istream<> basic_ostream<>:定义出读写对象,如果不关心国际化问题,一般直接使用char实例化的isteram和ostream。
*basic_iostream<>:读写对象。
*basic_streambuf<>:iostream体系的核心,定义出所有“可改写的stream或,可读取的stream”的接口。其他的stream classes都是利用它进行实际的字符读写操作。
iostream程序严格按照职责分离的原则来设计。basic_ios派生类型只处理数据格式化,实际读写操作由basic_ios派生类所维护的stream buffer完成。streambuf提供读写使用的字符缓冲区,形成对外的一种抽象概念。