Por qué iostream::eof dentro de una condición de bucle se considera incorrecto en C++?

No es necesariamente incorrecto. Sólo es incorrecto algo así como el 99,99% de las veces (o así). Hay un par de problemas con él. Let’s start by considering a distillation of typical code that attempts to use it: while (!somefile.eof()) {  file.read(data);  process(data);  }  El primer problema aquí es también el más simple de evitar: … Leer más