-1
如何在一行中輸入多個整數到C++中的向量?像:如何將多個輸入輸入到只有一行輸入的矢量中?
請輸入整數:1 2 3 4 5
請問代碼的樣子:
vector<int> intV;
cout << "Please enter integers: ";
cin >> intV;
如何在一行中輸入多個整數到C++中的向量?像:如何將多個輸入輸入到只有一行輸入的矢量中?
請輸入整數:1 2 3 4 5
請問代碼的樣子:
vector<int> intV;
cout << "Please enter integers: ";
cin >> intV;
你可以重載operator>>
如下做到這一點,如果你真的想。
std::istream& operator>>(std::istream& _is, std::vector<int>& _vec) {
int data;
while (_is >> data)
_vec.push_back(data);
return _is;
}
或者更靈活,
template<typename _Ty> std::istream& operator>>(std::istream& _is, std::vector<_Ty>& _vec) {
_Ty data;
while (_is >> data)
_vec.push_back(data);
return _is;
}
必須注意的是,該操作符提取整數直到EOF(或找到第一個「壞」字符),直到行結束。要根據OP說你首先做一個'getline'來執行,把結果放在一個'istringstream'中,然後使用這個操作符。 –
哦,是的,是我不好。 C++ – TheCoxer
@TheCoxer使用循環:'while(cin >> num){intV.push_back(num); } –
@πάνταῥεῖ回答此處vvvvvvvvvvvvvvvvvvvvv;) – wally