Yes there is: use a stream, e.g. a stringstream:
stringstream sstr("12 34 46");
int i;
while (sstr >> i)
list.push_back(i);
Alternatively, you can also use STL algorithms and/or iterator adapters combined with constructors:
vector list = vector(istream_iterator(sstr), istream_iterator());