Por que o iostream :: eof dentro de uma condição de loop é considerado errado?
Acabei de encontrar um comentário emest responda dizendo que usandoiostream::eof
em uma condição de loop é "quase certamente errado". Eu geralmente uso algo comowhile(cin>>n)
- que eu acho que verifica implicitamente o EOF, por que verificar o eof explicitamente usandoiostream::eof
errado?
Como é diferente de usarscanf("...",...)!=EOF
em C (que costumo usar sem problemas)?