1.什么是流和流库
流:指从一个位置向另一个位置传输的一连串数据的集合。
注意:
(1)这个位置可能是计算机里的一个程序(或者进程),一个文件,也可能是一个设备(如打印机、扫描仪等)。
(2)在输入输出过程中,会在内存中为每一个数据流开辟一个内存缓冲区,用来存数据。从而匹配不同工作效率的对象。(举个例子:一边是一个程序,另一边是一个打印机,他们的工作效率是不同的,有的快有的慢,为了匹配不同对象之间工作效率的差异,我们为数据流开辟一个内存缓冲区)
注意:数据流中的数据不会被随意丢弃,没有取走的话还是会待在缓冲区中。如果要丢弃,那么需要用编程的方法把它丢掉。
2.输入输出流类库的结构
注意:我们在C++中使用的流都是类的对象,这些类构成了有层次的库结构。最顶层的是ios_base类,然后派生出ios类,它们在头文件<ios>中包含着,这些基本的类定义了基本的格式控制符、状态设定函数等等。然后由ios类派生出了istream和ostream类。我们使用的cin是istream类的对象,cout、cerr、clog是ostream类的对象。由istream类和ostream类进一步派生出ifstream类和ofsteam类。