缓冲区(buffer):一个存储区域,用于保存数据。一般来说,缓冲区的产生是因为CPU的工作速度和总线传送速度远远快于外设的处理速度,为了提高效率,CPU一次把能处理的一批数据传送给外设,然而外设又不能同步处理,就会滞留数据,由此产生了缓冲区。
IO设施通常将输入(或输出)数据保存在一个缓冲区,读写缓冲区的动作与程序中的动作是无关的。我们可以显示地刷新输出缓冲,以便强制将缓冲区中的数据写入输出设备。
默认情况下,读cin会刷新cout;程序非正常终止也会刷新cout。
行输出时遇到endl,就会将与设备关联的缓冲区中的内容刷到设备中,缓冲刷新操作可以保证到目前为止程序所产生的所有输出都真正写入输出流中,而不是停留在内存中等待写入流。