Я новичок в C++ и пытаюсь найти какой-то примерный код для извлечения целых чисел из строк с разделителями-запятыми. Я сталкивалась с этим кодом:Синхронизация целого числа из строки с разделителями-запятыми
std::string str = "1,2,3,4,5,6";
std::vector<int> vect;
std::stringstream ss(str);
int i;
while (ss >> i)
{
vect.push_back(i);
if (ss.peek() == ',')
ss.ignore();
}
У меня есть проблемы с пониманием цикла While условного оператора: ss >> i
. По моему мнению, istream::>>
возвращает istream. Операция может быть установлена битами ошибки. Кажется, что не существует логической переменной. Как может ss >> i
служить условным заявлением?
Кроме того, делает >>
извлечение одного или нескольких символов? Например, если у меня есть строка «13, 14». Эта операция возвращает целые числа 1, 3, 1, 4 или целые числа 13, 14?
Спасибо большое, M