Vetsi sranda je pouzit algorithm :)
#include <sstream>
#include <iostream>
#include <string>
#include <vector>
#include <iterator>
#include <algorithm>
int main() {
std::vector<int> cisla;
std::string tmp;
std::getline(std::cin, tmp); // nacte cely radek
std::istringstream ln_in{tmp}; // pripravime na zpracovani
std::copy(
std::istream_iterator<int>{ln_in}, // vstupni iterator zacatek
std::istream_iterator<int>{}, // vstupni iterator konec (u istream iteratoru je to proste ze nemuze nacist dalsi int)
std::back_insert_iterator<decltype(cisla)>{cisla} // vystupni iterator (namapovano na cisla.push_back(x))
);
std::copy(std::begin(cisla), std::end(cisla), std::ostream_iterator<int>{std::cout," "});
std::cout << "\n";
}