Вы можете изменить свою логику: вместо чтения целых чисел до чего-то , вы можете читать строки, проверять, не являются ли они пустыми, а затем преобразовывать их в целые числа .
std::string input;
std::vector<int> v;
std::getline(std::cin, input);
while(!input.empty())
{
int number = std::stoi(input);
v.push_back(number);
std::getline(std::cin, input);
}
Обратите внимание, что std::cin
не будет работать, потому что он игнорирует пробелы (включая символ новой строки). Кроме того, смешивание std:: cin >>
с std::getline
является плохой идеей