原文:為什么可以用while(cin)?

如果你把一個basic ios類的對象 cin就是 放到if語句的括號里,它就會被轉換成void 型。如果輸入失敗的話,就會得到一個空指針 也就是 ,那么if語句就不能通過。 首先輸出個 .之后輸入X,輸出X 當輸入ctrl d時,沒有輸出,結束。 輸入x,輸出x 當輸入ctrl d時,再輸出個上一次的輸入量,結束。 ctrl d表示表示輸入錯誤。 cin.clear 可以重新將cin置為有效。 ...

2012-07-24 20:15 0 3097 推薦指數:

查看詳情

關於if (!cin)以及while (cin >> word)

(輸出)關閉,直到標記位被清除; 4、只有在流狀態良好的情況下,if或者while對該輸入(輸出)對象 ...

Sun Oct 09 17:14:00 CST 2016 0 1523
while(cin>>a)的原理

>>運算符返回的是流對象的引用,那么題目就變成了 while(cin); 這好像有點奇怪,上網找了答案 這是地址點擊打開鏈接 以下是復制過來的內容,不是本人原創: 今天看書的時候看到代碼while(cin>>val),忽然就在想這樣寫的合法性是如何判定 ...

Fri Mar 07 15:51:00 CST 2014 0 3149
while (cin>>str)退出死循環

今天在練習的時候突然發現了這個問題,百度之感覺還挺常見的,故記之! 解釋有: 在 C++Primer 中,作者經常使用 while(cin>>word) 類似的語法,但是如何結束,可能會出現疑惑。有的時候需要兩次快捷鍵才能結束循環,有的時候卻只需要一次循環 ...

Fri Mar 11 02:15:00 CST 2016 0 1964
while(std::cin>>val)怎么結束的思考

參考: https://blog.csdn.net/u014182411/article/details/62053816/ --------------------------------------------------------------- cin是C++編程語言中的標准輸入流對象 ...

Sat Oct 27 03:58:00 CST 2018 0 834
while(scanf("%d",&n)!=EOF)與while(cin>>n)

我們知道scanf函數是C語言里面的,其返回值是,被輸入函數成功賦值的變量個數。針對於int counts = scanf("%d",&n);來說如果賦值成功那么其返回值為1,即counts的值也是1。例如下面這個例子: while(條件語句);如條件語句為真 ...

Thu Nov 12 19:42:00 CST 2015 8 7757
cin的優化

  雖然C++有cin函數,但看別人的程序,大多數人都用C的scanf來讀入,其實是為了加快讀寫速度,難道C++還不如C嗎!?其實cin效率之所以低,不是比C低級,是因為先把要輸出的東西存入緩沖區,再輸出,導致效率降低,而且是C++為了兼容C而采取的保守措施。   先講一個cin中的函數 ...

Mon Oct 03 23:04:00 CST 2016 1 3743
 
粵ICP備18138465號   © 2018-2026 CODEPRJ.COM