Перейти к содержимому
шпаргалка.
Esc
навигацияоткрыть⌘Jпредпросмотр
На этой странице

Макросы

Все темы C++ Developer

Как работают макросы?

Макросы в программировании, особенно в C и C++, работают как инструменты для текстовой замены в исходном коде перед его компиляцией. Макросы определяются с помощью директивы препроцессора #define, и вот как они работают:

  1. Определение макроса: Используя #define, вы определяете макрос, который может быть как простым текстом, так и параметризированной функцией. Например:

    #define PI 3.14159
    #define MAX(a, b) ((a) > (b) ? (a) : (b))
  2. Замена: Во время препроцессинга, каждое вхождение имени макроса в коде заменяется его определением. Препроцессор просто заменяет текст без учета контекста или типов данных.

  3. Компиляция: После замены макросов исходный код компилируется. Замененный текст обрабатывается как обычный код программы.

Макросы полезны для:

  • Создания констант.

  • Реализации небольших функций без накладных расходов вызова функций.

  • Условной компиляции кода.

Макросы могут приводить к повторному вычислению аргументов. Например, MAX(a++, b) может увеличить a больше одного раза. Для вычислений предпочтительны функции и шаблоны, а для констант constexpr; они проверяют типы и соблюдают правила области видимости.

Эта страница была полезной?