>>
считывает переменную в правой части выражения и возвращает поток.
Использование потока в логическом выражении возвращает информацию о том, произошел ли поток с ошибкой.
Следовательно, цикл for эквивалентен:
int i = 0;
while ( i < 4 )
{
ss >> n;
if ( ss.fail() )
{
break;
}
message[i] = n;
if (ss.peek() == ';') {
ss.ignore();
}
i++;
}
. Он считывает до 4 чисел и останавливается, если содержимое потока не может быть преобразовано в число.