第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

為什么stringstream >>在失敗時更改目標的值?

為什么stringstream >>在失敗時更改目標的值?

C++
狐的傳說 2019-09-26 09:45:47
摘自Stroustrup的TC ++ PL,第三版,第21.3.3節(jié):如果我們嘗試讀入變量v并且操作失敗,則v的值應該不變(如果v是istream或ostream成員函數(shù)處理的類型之一,則它不變)。下面的示例似乎與上述引用矛盾?;谝陨弦茫移谕鹶的值保持不變-但它會歸零。對于這種明顯矛盾的行為有何解釋?#include <iostream>#include <sstream>int main( ){     std::stringstream  ss;     ss  << "The quick brown fox.";     int  v = 123;     std::cout << "Before: " << v << "\n";     if( ss >> v )     {         std::cout << "Strange -- was successful at reading a word into an int!\n";     }     std::cout << "After: " << v << "\n";     if( ss.rdstate() & std::stringstream::eofbit  ) std::cout << "state: eofbit\n";     if( ss.rdstate() & std::stringstream::failbit ) std::cout << "state: failbit\n";     if( ss.rdstate() & std::stringstream::badbit  ) std::cout << "state: badbit\n";     return 1;}我使用x86_64-w64-mingw32-g ++。exe(rubenvb-4.7.2-release)4.7.2得到的輸出是:Before: 123After: 0state: failbit謝謝。
查看完整描述

3 回答

  • 3 回答
  • 0 關注
  • 575 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號