Como ler números separados por espaço do consol

Estou tentando executar uma tarefa simples de ler números separados por espaço do console em umvector<int>, mas não estou conseguindo fazer isso corretament

Isto é o que eu fiz até agora:

int n = 0;
vector<int> steps;
while(cin>>n)
{
    steps.push_back(n);
}

No entanto, isso exige que o usuário pressione um caractere inválido (comoa) para quebrar owhile ciclo. Eu não quero isso.

Assim que o usuário digitar números como0 2 3 4 5 e pressionaEnter Quero que o loop seja quebrado. Eu tentei usaristream_iterator ecin.getline também, mas não consegui fazê-lo funciona

Não sei quantos elementos o usuário digitará, portanto estou usandovector.

Por favor, sugira a maneira correta de fazer iss

questionAnswers(5)

yourAnswerToTheQuestion