Директивы препроцессора C++

Препроцессор – это программа, предназначенная для предварительной обработки текста программы перед ее компиляцией.

# – директива препроцессора.

1. #include – директива подключения внешних файлов. Она имеет две формы:

  • #include<имя файла> – подключение файла из стандартной библиотеки C++.
  • #include”имя файла” – подключение собственного файла.

Пример.

iostream – это библиотека ввода-вывода.

cmath – математическая библиотека.

#include”myfile” – директива постановки.

2. #define – определение символических имен.

Препроцессор вставляет вместо символических имен, их значение указанные в определении.

Пример.

3. #undef – предназначен для отмены определений созданных с помощью директивы #define.

Пример.

4. Директива условной компиляции: #ifdef, #ifndef, #if, #else, #elif, #endif.

Эти директивы предназначены для включения или исключения из компиляции некоторого фрагмента программы.

Директива #ifdef включает в компиляцию фрагмент программы, если символическое имя определено ранее с помощью директивы #define сим_имя. Если это символическое имя не определено, фрагмент программы не компилируется.

Пример.

Директива #ifndef символическое_имя включает в компиляцию фрагмент программы, если символическое имя не определено с помощью директивы #define либо отменено с помощью директивы #undef.

Директива #if

Директива #if включает в компиляцию фрагмент программы, если записанное выражение является истинным, в противном случае фрагмент программы не компилируется.

Пример.

#else используется с одной из #ifdef, #ifndef, #if для подключения в компиляцию одного из двух альтернативных фрагментов программы.

Пример.

#elif используется для включения в компиляцию одного из нескольких фрагментов программы, причем для каждого фрагмента используется свое условие.

5. Директива #pragma используется для установки специальных опций компиляции.

Error: текст ошибки
Warning:

Библиотека cmath

В ней определены математические функции и константы.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *