Да, есть: использовать поток, например, stringstream
:
stringstream sstr("12 34 46");
int i;
while (sstr >> i)
list.push_back(i);
Кроме того, вы также можете использовать алгоритмы STL и / или адаптеры итераторов в сочетании с конструкторами:
vector<int> list = vector<int>(istream_iterator<int>(sstr), istream_iterator<int>());