Препроцессор — это компонент языка C++, который выполняет предварительную обработку исходного кода перед его компиляцией. Он обрабатывает директивы препроцессора, которые начинаются с символа #.

Основные директивы препроцессора:

#include

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

#include <iostream>
#include "myheader.h"

#define

Используется для определения макросов или символических констант.

#define PI 3.14159
#define MAX(a,b) ((a) > (b) ? (a) : (b))

#ifdef, #ifndef, #endif

Используются для условной компиляции кода.

#ifdef DEBUG
    std::cout << "Debug mode is on" << std::endl;
#endif

#ifndef MY_HEADER
#define MY_HEADER
    // содержимое заголовочного файла
#endif

#if, #elif, #else

Позволяют выполнять более сложные условные проверки.

#if defined(WIN32)
    // код для Windows
#elif defined(LINUX)
    // код для Linux
#else
    // код для других платформ
#endif

#pragma

Используется для передачи специфичных для компилятора инструкций.

#pragma once  // гарантирует, что файл будет включен только один раз

Важно помнить, что директивы препроцессора не являются частью языка C++ и обрабатываются до начала компиляции. Это может привести к трудноотлаживаемым ошибкам, поэтому их следует использовать с осторожностью.

Для более глубокого понимания темы рекомендуем изучить следующие материалы:

Перейти к следующему уроку →