1. Streams 是什么
一般情况, 我们写的 program 需要和一些外部的设备 (external devices) 进行交互(数据传递等). 通常, 这些外部设备包括: console&keyboard,files,other programs(通过 pipelines),sockets(通过 networking).CS106L 中, 主要关注前两种的交互, 例如, 打印一个日期对象到控制台, 或者从文件中读取一个数字等.
上述交互过程可以分为两个部分:
1. 读写过程: external source <--> string representation
2. 类型转化过程: string representation <--> other type
Stream: 一个 program 和外界进行交互的最基本的单位. 提供统一的与 external source 交互的接口, 可以将 Stream 想想成为一个 character buffer, 利用这个 character buffer 与 external source 交互.
source ----stream ----> destination
2. 为什么叫 stream
stream 表示不需要一次性读写所有的数据, 通常情况是, 每次读写一部分, 例如, 读取文件时, 可以一行一行读取, 也可以一个字符一个字符读取, 等等. 这种流式读写在非常灵活.
3. stream 举例
cout ( for character output ) 是 source 连接到控制台 console 的一种 stream
来源: http://www.bubuko.com/infodetail-3216455.html