Причина, по которой ни один из operator >>
и operator <<
не помечен как noexcept
, связана с std::basic_ios::exceptions
. Эта функция-член присутствует во всех объектах, которые наследуются от std::basic_ios
, и позволяет вам настроить поток для выдачи исключений для определенных режимов сбоя. Если бы операторы были noexcept
, то вы не могли бы использовать их с потоком, для которого установлены исключения.