Основные потоковые классы и объекты. Назначение потоковых буферных классов

   
На этом шаге мы приведем краткую характеристику потоковых буфурных классов.

   
Библиотека IOStream проектировалась со строгим разделением обязанностей. Классы, производные от basic_ios, "всего лишь"
ограничиваются форматированием данных. Операции чтения и записи символов выполняются потоковыми буферами, которые представлены
объектами, подчиненными по отношению к классу basic_ios. Потоковые буферы обеспечивают выполнение чтения/записи в символьных
буферах и помогают абстрагироваться от внешнего представления (например, файлов или строковых данных).

   
Потоковые буферы играют важную роль при выполнении ввода-вывода с новыми внешними представлениями (например, сокетами или компонентами
графического интерфейса), перенаправлении потоков данных или их конвейерном объединении (например, при сжатии выходных данных перед их
передачей в другой поток данных). Кроме того, потоковые буферы обеспечивают синхронизацию при одновременном вводе-выводе с одним внешним
представлением.

   
Потоковые буферы упрощают определение новых "внешних представлений" (скажем, предназначенных для работы с новым носителем данных). Для
этого требуется лишь объявить новый потоковый буферный класс, производный от basic_streambuf<> (или его подходящей специализации)
и определить функции чтения и/или записи символов для нового внешнего представления. Все возможности форматированного ввода-вывода автоматически
становятся доступными, когда объект потока данных инициализируется для использования объекта нового потокового буферного класса.

   
На следующем шаге мы приведем подробные определения классов.



Вы можете оставить комментарий, или Трекбэк с вашего сайта.

Оставить комментарий