C++ Primer学习笔记(一)—— 重新理解输入/输出流
<<为C++的输出操作符,考虑下面的语句:
std::cout<<"Enter two numbers:” <<std::endl;
这个语句用了两次输出操作符,每个输出操作符实例都接受两个操作数:左操作数必须输ostream对象;右操作数是要输出的值。操作符将其右操作数写到作为其左操作数的ostream对象。
C++中,每个表达式都会产生一个结果,通常是将操作符作用到其操作数所产生的值。当操作符是输出操作符时,结果是左操作数的值。也就是说,输出操作返回的值输出流本身。
既然输出操作符返回的是其左操作数,那么我们就可以将输出请求链接在一起。输出提示语的那条语句等价于:
(std::cout<<"Enter two numbers:”)<<std::endl;
因为 (std::cout<<"Enter two numbers:”)返回其左操作数std::cout,这条语句等价于:
std::cout<<"Enter two numbers:”;
std::cout<<std::endl;
endl是一个特殊值,称为操纵符(manipulator),将它写入输出流时,具有输出换行的效果,并刷新与设备相关的缓冲区。通过刷新缓冲区,用户可立即看到写入到流中的输出。
>>为C++的输入操作符,行为与输出操作符类似。它接受一个istream对象作为其左操作数,接受一个对象作为其右操作数,它从istream操作数读取数据并保存到右操作数中。像输出操作符一样,输入操作符返回其左操作数作为结果。