通过这张IO类的继承关系图.可以看出C++将输入输出抽象成三类
- 输入流
- 输出流
- buf流
而将输入设备或者文件抽象成cin(代表着键盘) ifstream 代表成读取文件 istringstream 代表读取字符串流
同样的将输出设备cerr clog cout 代表着输出设备(屏幕) ofstream代表着写入文件 ostringstream代表着写入字符串流
IO对象无拷贝或者赋值 ==> 不能将形参或者返回类型设置为流类型 ==> 所以通常用引用方式传递和返回流
又因为读写一个IO对象会改变其状态,所以传递和返回的引用不能是const