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