#include

Директива #include заставляет компилятор прочитать и скомпилировать указанный исходный файл. Для записи этой директивы используются следующие общие формы.

Копировать
#include "имя_файла"
#include <имя_файла>

Имя исходного файла, подлежащего прочтению, должно быть заключено в двойные кавычки или угловые скобки. Например, оператор

Копировать
#include <MyFuncs.h>

заставит компилятор прочитать и скомпилировать файл MyFuncs.h.

Если имя файла заключено в угловые скобки, то поиск файла будет осуществляться способом, определенным создателем компилятора. Часто это означает, что поиск выполняется в некотором специальном каталоге, выделенном для заголовочных файлов. Если же имя файла заключено в кавычки, поиск файла выполняется другим способом, зависящим от конкретной реализации. Во многих случаях это означает поиск текущего рабочего каталога. Если заданный файл не найден, поиск повторяется с использованием первого способа (как если бы имя файла было заключено в угловые скобки). Чтобы ознакомиться с подробностями, связанными с различной обработкой директивы #include в случае использования угловых скобок и двойных кавычек, обратитесь к руководству пользователя, прилагаемому к вашему компилятору. Операторы #include могут быть вложенными внутри других включаемых файлов.

Помимо включения файлов, С/С++-программы используют директиву #include для включения заголовков. В языках С и C++ определен набор стандартных заголовков, которые предоставляют информацию, необходимую для различных библиотек (т.е. под заголовком может подразумеваться файл, но это совсем необязательно). Таким образом, заголовок - это просто абстракция, которая гарантирует включение соответствующей информации. Однако на практике С-заголовки почти всегда являются файлами, а имена заголовков - действительными именами файлов. Но для языка C++ ситуация совсем иная. Все имена С++-заголовков представляют собой стандартные идентификаторы, которые компилятор может преобразовать в имена файлов или обработать каким-либо другим способом. А поскольку С++-заголовки не являются именами файлов, они не имеют расширения . п. Например, чтобы включить заголовочную информацию для системы ввода-вывода, используйте следующий оператор.

Копировать
#include <iostream>

Здесь <iostream> - стандартный заголовок для классов ввода-вывода.