重新认识c++的cin、cout

简介:
int  a;
while (a != 0)
    cout << a << endl;

之前对上面这上面的理解很肤浅,认为输出cout就是个输出标志,并且有时候忘记是"<<" 还是">>"。现在理解稍微深了些:

cin 、 cout  只是个对象而已

      C++中输入、输出由标准库iostream库提供的。iostream库的基础是两个命名为istream和ostream的类型,分别表示输入流和输出流。cin是istream类型的对象,cout是ostream类型的对象。

<< 、 >> 是重定向符

      上例程序中,cout << a。其中“<<”是重定向符,把a的值传给cout对象输出。同样:cin >> b。把输入对象cin的值传给b。这样理解也不至于忘记箭头向左还是向右。

cin 、 cout表达式返回值是左值

      cout << a;返回值是左值cout(a是右值),这样cout << a << endl; 就等价于   ((cout << a) << endl);

因为前者返回值是cout,接着往右执行就是cout << endl;

同理:cin 返回值也是左值, cin >> a >> b;  其中cin >>a 把对象cin的值传给a, 返回cin ,又把cin的值传给b.





本文转自jihite博客园博客,原文链接:http://www.cnblogs.com/kaituorensheng/archive/2013/04/11/3015381.html,如需转载请自行联系原作者


相关文章
C++ 编译错误 error: ‘cout‘ was not declared in this scope (摄氏度与华氏度的转换)
C++ 编译错误 error: ‘cout‘ was not declared in this scope (摄氏度与华氏度的转换)
C++ 编译错误 error: ‘cout‘ was not declared in this scope (摄氏度与华氏度的转换)
|
6月前
|
存储 C++
C++ cin标准输入流,及获取多个输入的方法
在C++中,cin与流提取运算符>>配合使用,可以用于获取标准的输入,比如从键盘上获取输入。cin是C++标准库标准库iostream中的一个类实例。
110 1
|
6月前
|
存储 程序员 C++
C++系列-第1章顺序结构-5-输入类cin
C++系列-第1章顺序结构-5-输入类cin
|
6月前
|
C++
C++系列-第1章顺序结构-3-输出类cout
C++系列-第1章顺序结构-3-输出类cout
C++的输入与输出:cin与cout
C++的输入与输出:cin与cout
|
C语言 iOS开发 C++
C++ 的cout格式化输出
在某些实际场景中,我们经常需要按照一定的格式输出数据,比如输出浮点数时保留 2 位小数,再比如以十六进制的形式输出整数,等等。 对于学过 C 语言的读者应该知道,当使用 printf() 函数输出数据时,可以通过设定一些合理的格式控制符,来达到以指定格式输出数据的目的。例如 %.2f 表示输出浮点数时保留 2 位小数,%#X 表示以十六进制、带 0X 前缀的方式输出整数。 关于 printf() 函数支持的格式控制符,更详细的讲解,可阅读《C语言数据输出大汇总》一节,这里不做详细赘述。 C++ 通常使用 cout 输出数据,和 printf() 函数相比,cout 实现格式化输出数据的方
136 0
C++(cout和printf的使用小结)
C++(cout和printf的使用小结)
|
Web App开发 编译器 C++
C++ 几行代码就能重载操作符模拟 cout<<123<<endl;
C++ 几行代码就能重载操作符模拟 cout<<123<<endl;
69 0
|
C++
C++ 重载操作符<<实现cout定位输出以及设置颜色:cout<<Goto(x,y)<<setC(color)<<123<<cr;
C++ 重载操作符<<实现cout定位输出以及设置颜色:cout<<Goto(x,y)<<setC(color)<<123<<cr;
241 0
|
编译器 C++
C++ 重载操作符 <<实现模拟输出语句: cout << endl;
C++ 重载操作符 <<实现模拟输出语句: cout << endl;
195 0