Шаг 465.
Библиотека STL. Ввод-вывод с использованием потоковых классов. Основные потоковые классы и объекты. Заголовочные файлы

    На этом шаге мы перечислим необходимые заголовочные файлы и кратко рассмотрим их содержимое.

    Определения потоковых классов распределены по нескольким заголовочным файлам.


   Замечание. На первый взгляд кажется, что объявлять классы с поддержкой ввода и вывода в заголовке <istream> нелогично. Но так как в начале работы каждой единицы трансляции, включающей <iostream>, тратится время на инициализацию, объявления для ввода и вывода были выделены в файл <istream>.

    Многие из этих заголовочных файлов предназначены для внутренней организации стандартной библиотеки C++. Прикладному программисту обычно достаточно включить файл <iosfwd> в объявление потоковых классов и <istream> или <ostream> при непосредственном использовании функций ввода или вывода. Заголовок <iostream> следует включать только при использовании стандартных потоковых объектов. В некоторых реализациях в начале работы каждой единицы трансляции, включающей этот заголовок, выполняется фрагмент кода инициализации. Само по себе выполнение этого кода обходится недорого, но при этом приходится загружать соответствующие страницы исполняемого файла, а эта операция может быть довольно дорогостоящей. Как правило, в программу следует включать только заголовки, содержащие абсолютно необходимые объявления. В частности, в заголовочные файлы должен включаться только заголовок <iosfwd>, а соответствующие файлы реализации включают заголовок с полным определением.

    Специальные средства работы с потоками данных (параметризованные манипуляторы, файловые и строковые потоки данных) определяются в дополни тельных заголовочных файлах (<iomanip>, <fstream>, <sstream> и <strstream>). Дополнительная информация об этих заголовках приводится в шагах, посвященных этим специальным средствам.

    На следующем шаге мы рассмотрим стандартные операторы << и >>.




Предыдущий шаг Содержание Следующий шаг