Каков рекомендуемый (стандартный) способ обработки неверного ввода в операторе извлечения:
std::istream& operator>>(std::istream& is, SomeType& val) {
// ...
return is;
}
Должно ли оно установить std::ios_base::failbit
и немедленно вернуться? Можно ли оставить объект val
в неопределенном состоянии, возможно, некоторые его переменные уже изменены?