通過加速讀取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