Si, l'oggetto stream in se resta in uno stato valido, però è invalido dal punto di vista delle operazioni. Ossia puoi usarlo con la garanzia di non avere problemi riguardo a comportamenti strani (crash o altro), ma ogni operazione destinata al file fallisce fin quando non si ripristina lo stato good() tramite setstate().
E' una cosa abbastanza comune se in caso di lettura si usano gli operatori di estrazione >>