学习C++Primer第5版的IO流感觉很困惑。后来结合书上的讲解想了想,谈谈自己的理解吧。
输入输出流就表示一连串的输入输出数据。
可以把这一连串的数据看做是一个对象,所以可以用一个对象表示输入/输出流。
cin cout cerr clog就是4个用于表示普通流的对象。
特别地,cin是表示来自键盘的输入流的对象,cout表示向控制台窗口(屏幕)的输出流对象。(书上并不是如我这样说的,但我觉得这么看更容易理解)
同理如果用ifstream类声明一个fin对象,用ofstream类声明一个fout对象。
那么fin就表示来自文件的输入流的对象,fout就表示向文件输出流的对象。
>>、 <<才是输入、输出的运算符。
而文件重定向,就是将本来是从键盘输入的cin转变为从文件输入,将本来输出到控制台窗口的cout转变为输出到文件。