Директива #include <имя_файла> вставляет содержимое указанного файла в ту точку
исходного файла, где она записана. Включаемый файл также может содержать
директивы #include. Поиск файла, если не указан полный путь, ведется в стандартных
каталогах включаемых файлов. Вместо угловых скобок могут использоваться
кавычки (" ") — в этом случае поиск файла ведется в каталоге, содержащем
исходный файл, а затем уже в стандартных каталогах.
Директива #include является простейшим средством обеспечения согласованности
объявлений в различных файлах, она включает в них информацию об интерфейсе
из заголовочных файлов.
Заголовочные файлы обычно имеют расширение . h и могут содержать:
• определения типов, констант, встроенных функций, шаблонов, перечислений;
• объявления функций, данных, имен, шаблонов;
• пространства имен;
• директивы препроцессора;
• комментарии.
В заголовочном файле не должно быть определений функций и данных. Эти правила
не являются требованием языка, а отражают разумный способ использования
директивы.
При указании заголовочных файлов стандартной библиотеки расширение .h
можно опускать 1. Это сделано для того, чтобы не ограничивать способы их хранения.
Для каждого файла библиотеки С с именем <name. h> имеется соответствующий
файл библиотеки C++ <cname>, в котором те же средства описываются
в пространстве имен std. Например, директива #1nclucle <cstdio> обеспечивает те
же возможности, что и #1nclude <stdio.h>, но при обращении к стандартным
функциям требуется указывать имя пространства имен std (см. раздел «Поименованные
области», с. 99).