Как ввести неопределенное количество чисел в вектор 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));

Только защиты от дурака (введено не число) тут нет. Оборвется на первом же не числе.

→ Ссылка