Как ввести неопределенное количество чисел в вектор C++?
Нужно ввести неопределенное количество чисел в одну строку, а затем добавить его в вектор как это можно сделать?
Ответы (1 шт):
Автор решения: Mikhailo
→ Ссылка
Один из вариантов:
string str;
getline(cin,str);
istringstream is(str);
vector<int> v;
for(int i; is >> i;) v.push_back(i);
Последние две строки можно заменить на
vector<int> v;
copy(istream_iterator<int>(is),istream_iterator<int>(),back_inserter(v));
Только защиты от дурака (введено не число) тут нет. Оборвется на первом же не числе.