這個體系中的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提供讀寫使用的字符緩沖區,形成對外的一種抽象概念。