欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C++中cin的返回值問題

 更新時(shí)間:2022年07月25日 11:15:37   作者:林三撇  
這篇文章主要介紹了C++中cin的返回值問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

cin的返回值

今天在用STL時(shí)用到while(cin>>s1>>a>>s2>>b)這樣的語句,本來所有的輸入都是“string+int+string+int”格式的,但是結(jié)束標(biāo)志卻是“quit”,于是很好奇cin的輸入到底是返回什么。

首先想到,cin是一個(gè)對(duì)象,那么到底是返回什么影響了while,查了很多博客才發(fā)現(xiàn)是操作符“>>”在起作用,這個(gè)操作符接收一個(gè)istream對(duì)象作為其做操作數(shù),接收一個(gè)對(duì)象作為其右操作數(shù)。

”>>”操作符返回其左操作數(shù)作為結(jié)果,這樣也就可以解釋為什么上面可以將個(gè)幾輸入操作合并了。

原因在于得到輸入后返回一個(gè)cin,接著可以繼續(xù)操作讀取了,而且在輸入不符合類型和EOF時(shí)停止。

輸入(cin)緩沖是行緩沖。

當(dāng)從鍵盤上輸入一串字符并按回車后,這些字符會(huì)首先被送到輸入緩沖區(qū)中存儲(chǔ)。

每當(dāng)按下回車鍵后,cin 就會(huì)檢測(cè)輸入緩沖區(qū)中是否有了可讀的數(shù)據(jù)。

cin流輸入的返回值問題

感覺今天發(fā)現(xiàn)一個(gè)比較好的問題

while(cin>>n)

這個(gè)語句肯定經(jīng)??吹桨?/p>

但是

為什么可以用while來判斷呢

難道cin>>n的返回值是bool 類型?

這時(shí)候,看源碼 的 重要性就體現(xiàn)出來了

在ios里面有

    operator void *() const {
        if(state&(badbit|failbit) )
            return 0;
        return (void* )this;
    }

這樣一段代碼

再來看這樣一段文字

所以說 invalid state 時(shí) 返回值為0,否則是(void *)首地址

這樣就可以用while來判斷了

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 簡(jiǎn)單了解C語言中主線程退出對(duì)子線程的影響

    簡(jiǎn)單了解C語言中主線程退出對(duì)子線程的影響

    這篇文章主要介紹了簡(jiǎn)單了解C語言中主線程退出對(duì)子線程的影響,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-12-12
  • C語言字符串另類用法的實(shí)現(xiàn)

    C語言字符串另類用法的實(shí)現(xiàn)

    今天小編就為大家分享一篇關(guān)于C語言字符串另類用法的實(shí)現(xiàn),小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧
    2018-12-12
  • 淺談C語言=與==的區(qū)別詳解

    淺談C語言=與==的區(qū)別詳解

    這篇文章主要介紹了淺談C語言=與==的區(qū)別詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-01-01
  • C語言數(shù)據(jù)結(jié)構(gòu)樹之后序遍歷的實(shí)現(xiàn)

    C語言數(shù)據(jù)結(jié)構(gòu)樹之后序遍歷的實(shí)現(xiàn)

    這篇文章主要介紹了C語言數(shù)據(jù)結(jié)構(gòu)之后序遍歷的實(shí)現(xiàn)的相關(guān)資料,這里提供一個(gè)簡(jiǎn)單實(shí)例來實(shí)現(xiàn)后續(xù)遍歷,對(duì)于數(shù)據(jù)結(jié)構(gòu)樹的學(xué)習(xí)很有幫助,需要的朋友可以參考下
    2017-07-07
  • VSCODE調(diào)試RDKit內(nèi)核的方法步驟(C++)

    VSCODE調(diào)試RDKit內(nèi)核的方法步驟(C++)

    本文主要介紹了VSCODE調(diào)試RDKit內(nèi)核的方法步驟,這個(gè)過程可以分為三個(gè)部分:安裝 RDKit 所需環(huán)境,安裝 VSCode 相應(yīng)插件, 寫調(diào)試代碼編譯,感興趣的可以了解一下
    2021-08-08
  • 利用Matlab實(shí)現(xiàn)迭代適應(yīng)點(diǎn)算法

    利用Matlab實(shí)現(xiàn)迭代適應(yīng)點(diǎn)算法

    道格拉斯-普克算法(Douglas–Peucker?algorithm,亦稱為拉默-道格拉斯-普克算法、迭代適應(yīng)點(diǎn)算法、分裂與合并算法)是將曲線近似表示為一系列點(diǎn),并減少點(diǎn)的數(shù)量的一種算法。本文將利用Matlab實(shí)現(xiàn)這一算法,需要的可以參考一下
    2022-04-04
  • 詳談全排列next_permutation() 函數(shù)的用法(推薦)

    詳談全排列next_permutation() 函數(shù)的用法(推薦)

    下面小編就為大家?guī)硪黄斦勅帕衝ext_permutation() 函數(shù)的用法(推薦)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-03-03
  • C標(biāo)準(zhǔn)庫<assert.h>的實(shí)現(xiàn)詳解

    C標(biāo)準(zhǔn)庫<assert.h>的實(shí)現(xiàn)詳解

    這篇文章主要介紹了C標(biāo)準(zhǔn)庫<assert.h>的實(shí)現(xiàn),主要包括了<assert.h>的基本概念、實(shí)現(xiàn)及用法等,需要的朋友可以參考下
    2014-09-09
  • OpenCV實(shí)現(xiàn)平均背景法

    OpenCV實(shí)現(xiàn)平均背景法

    這篇文章主要為大家詳細(xì)介紹了OpenCV實(shí)現(xiàn)平均背景法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-03-03
  • C語言實(shí)現(xiàn)飛機(jī)訂票系統(tǒng)

    C語言實(shí)現(xiàn)飛機(jī)訂票系統(tǒng)

    這篇文章主要為大家詳細(xì)介紹了C語言實(shí)現(xiàn)飛機(jī)訂票系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-12-12

最新評(píng)論