亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

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

C++中不include<string>,為什么也能定義string 對象

C++中不include<string>,為什么也能定義string 對象

C++
鴻蒙傳說 2018-11-09 11:15:31
#include <iostream>#include <vector>using namespace std;int main() {    int num;    cin >> num;    vector<string> vec;    for (int i = 0; i < num; ++i) {        string string1;        //cin >> string1;        getline(cin, string1);        vec.push_back(string1);    }    for (auto item : vec)        cout << item << endl;    return 0;}1)例如,這段代碼,我沒有#include<string>, 卻能定義string string1,這是為什么?2)為什么輸入的字符串個數是num-1,而不是num 問題補充:                        經測試,是因為cin自動忽略回車等不可見字符。那么在輸入字符串時,會把回車符也當成字符串存入vec[0],導致可見字符串個數少1.而cin.get(),getchar()就能取得這樣的不可見字符,所以在cin  >> num;之后加上cin.get()或getchar(),便可獲取緩沖區的回車鍵?;蛘呃胹canf("%d", &num), scanf也能獲取不可見字符。
查看完整描述

2 回答

?
Cats萌萌

TA貢獻1805條經驗 獲得超9個贊

 因為你include了iostream, iostream include了string


查看完整回答
反對 回復 2018-11-14
?
慕沐林林

TA貢獻2016條經驗 獲得超9個贊

using namespace std


查看完整回答
反對 回復 2018-11-14
  • 2 回答
  • 0 關注
  • 852 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號