通过加速读取C++,他们举了一个我不明白的例子。这是一个while循环(cin >> x)。在脚本中的这一点上,x已被声明为double。我明白,只要x成功接收输入,循环就会执行,但是>>返回一个布尔值?我想我只需要一点帮助,了解它是什么>> < < do ....另外,虽然我们在这个问题上,iostream,ios和iomanip之间的区别是什么输入操作数返回布尔值在c + +?
3
A
回答
8
实际上,他们回报自己,即,
std::cin >> foo
是恰好返回std::cin
表达式(具有副作用)。它也发生iostream
s可以转换为bool
,如果他们准备好接收输入,或者有输出提供,他们是真的,如果他们关闭或在其各自的文件的末尾,它们是假的。
+1
更确切地说,它们被转换为'void *',然后转换为'bool'。即使有*输入可用,流也可能评估为“假”。例如,如果'foo'是一个'int',并且下一个要提取的字符不是数字,那么该流将处于'fail'状态。调用'清除'重置。 – 2010-11-14 07:21:10
相关问题
- 1. 如何输入布尔值并返回为布尔值?
- 2. 函数返回布尔值?
- 3. 返回布尔值
- 4. 接受两个整数值作为输入参数,并返回布尔
- 5. 布尔值和返回值
- 6. 返回布尔值到C-环境
- 7. WCF操作协定是否可以返回一个布尔值?
- 8. 作为布尔值返回查询?
- 9. 返回int作为布尔值
- 10. 从函数返回布尔值后检查布尔值
- 11. C#布尔操作使用
- 12. 递归&返回布尔值
- 13. 如何返回布尔值?
- 14. 布尔返回很多值
- 15. 返回布尔值DataFrame
- 16. AlertDialog返回布尔值
- 17. 复选框输入返回布尔值AngularJS
- 18. 布尔运算符返回其操作数
- 19. C++布尔函数返回56
- 20. VB.NET委托函数返回布尔值
- 21. 不返回布尔值的函数
- 22. 从函数返回布尔值
- 23. 帕斯卡尔布尔返回值?
- 24. 当一个操作数为零时,按位OR返回布尔值
- 25. 在Swift中从Block返回布尔值
- 26. 在Android中返回布尔值的Dialog.Confirm
- 27. JavaScript布尔数组操作
- 28. Angular2布尔输入参数不工作
- 29. 将返回的布尔值转换为布尔值
- 30. error_reporting布尔操作
你应该把它分成两个问题。问题标题中描述的第一部分是一个问题,但'我们谈论这个问题'之后的所有事情都是一个不同的问题,因此应该是一个不同的问题。 – SingleNegationElimination 2010-11-14 07:02:40