Здравствуйте, Anchor, Вы писали:
A>Какой смысл выполнять операцию ввода, предварительно не проверив состояние потока?
А в чем ты видишь проблему? Состояние потока
нужно проверять
после операции ввода и
можно дополнительно еще и
до, чтобы точнее дифференцировать ошибку. Вот обходящийся без предварительной проверки пример из стандартной библиотеки поставляемой с VC9 (реализация istream_iterator):
void _Getval()
{ // get a _Ty value if possible
if (_Myistr != 0 && !(*_Myistr >> _Myval))
_Myistr = 0;
}