Почему iostream::eof внутри условия цикла (т.е. ` while (!stream.eof())`) считается неправильным?C++

Программы на C++. Форум разработчиков
Anonymous
 Почему iostream::eof внутри условия цикла (т.е. ` while (!stream.eof())`) считается неправильным?

Сообщение Anonymous »

Я только что нашел комментарий в этом ответе, в котором говорится, что использование iostream::eof в условии цикла «почти наверняка неправильно». Обычно я использую что-то вроде while(cin>>n), которое, я думаю, неявно проверяет наличие EOF.

Почему проверка eof явно выполняется с помощью while (! cin.eof()) неправильно?

Чем это отличается от использования scanf("...",...)!=EOF в C (которое я часто использую без проблем )?

Подробнее здесь: https://stackoverflow.com/questions/560 ... m-eof-cons

Вернуться в «C++»