读书人

当执行cingt;gt;x的返回值,该怎么处理

发布时间: 2012-05-06 16:15:43 作者: rapoo

当执行cin>>x的返回值
各位老师大家好,最近看到语句,while(cin>>x){...........}不太明白。望指点
我想知道当执行cin>>x的返回值

[解决办法]
读取成功的话返回istream&
失败的话流出错
[解决办法]
thanks http://www.cnblogs.com/gysm/archive/2011/08/03/2126511.html
[解决办法]
隐式转换成bool类型(非0即1)
[解决办法]
不是返回值,而是因为流有一个operator void*()这里会调用该重载函数,然后进行测试。
[解决办法]
楼上正解。
[解决办法]
循环的条件表达式最终转换成一个bool类型,但是cin是没有转换成bool类型的途径,但是有我上面说的那个所以可以转换成指针,测试指针是否为空即可
[解决办法]

探讨

引用:
不是返回值,而是因为流有一个operator void*()这里会调用该重载函数,然后进行测试。

能详细点么,不太明白
谢谢

[解决办法]
楼上都是正解。

while(cin>>x)在遇到输入一个特殊字符(CTRL+Z)的时候(楼主可以自己测试一下),就会得到NULL,然后循环就退出了……
[解决办法]
探讨
楼上都是正解。

while(cin>>x)在遇到输入一个特殊字符(CTRL+Z)的时候(楼主可以自己测试一下),就会得到NULL,然后循环就退出了……

[解决办法]

哈,,有人跟我想一块去啦

看看这篇文章吧

http://blog.csdn.net/gytanonymous/article/details/7409219

读书人网 >C++

热点推荐