ически вызывается при включени

Автор admin Среда, 13 мая 2009 11:32

ически вызывается при включении объекта потока в логическое выражение. Чтение до конца входных данных в этой идиоме выполняется так: int i: while(myStream » i) cout « i « endl: Помните, что функция operator»() возвращает ссылку на поток, переданный в аргументе, поэтому условие while проверяет объект потока в логическом выражении. Этот конкретный пример предполагает, что входной поток myStream содержит целые числа, разделенные пропусками. Функция ios_base::operator void*() просто вызывает good() для своего потока и возвращает результат1. Поскольку большинство потоковых операций возвращает свои потоки, эта идиома часто применяется на практике. Потоки ввода-вывода и исключения Потоки ввода-вывода появились в С++ гораздо раньше исключений, поэтому в прежние времена состояние потока проверялось только «вручную», то есть вызовом проверочных функций. Для сохранения совместимости именно эта возможность считается основной, но современные реализации потоков ввода-вывода могут сообщать об ошибках при помощи исключений. Функции класса потока exceptionsQ передается параметр, определяющий флаги состояния, для которых


Комментарии закрыты.