如何在只有一行输入的向量中输入多个输入?

时间:2016-05-14 16:23:08

标签: c++ c++11 vector input integer

如何在一行中将多个整数输入到C ++中的向量中?像:

  

请输入整数:1 2 3 4 5

代码看起来像是:

vector<int> intV;
cout << "Please enter integers: ";
cin >> intV;

1 个答案:

答案 0 :(得分:2)

如果您真的想要,可以按如下方式重载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;
}