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

Примеры использования макросов:

  1. Определение констант:

    #define PI 3.14159
  2. Функции-макросы:

    #define SQUARE(x) ((x) * (x))
  3. Многострочные макросы:

#define ERROR_AND_EXIT(message) \
    do { \
        std::cerr << "Error: " << (message) << std::endl; \
        exit(EXIT_FAILURE); \
    } while (0)

Этот макрос принимает аргумент message, выводит его как сообщение об ошибке в стандартный поток ошибок (std::cerr) и завершает программу с кодом EXIT_FAILURE.