Я только что нашел комментарий в этом ответе о том, что использование iostream::eof
в условии цикла "почти наверняка неправильно". Я обычно использую что-то вроде while(cin>>n)
- которое, я думаю, неявно проверяет EOF.
Почему проверка eof явно использует while (!cin.eof())
неправильно?
Чем он отличается от использования scanf("...",...)!=EOF
в C (который я часто использую без проблем)?