Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗cpSpPpFm 478 of 696 menu
◀ ▶

Макрос с параметром в C++

Функциональный макрос принимает список формальных параметров в скобках после имени и раскрывается при каждом появлении с аргументами.

Аргумент макроса - не значение выражения, а фрагмент текста: препроцессор вставляет его в тело буквально. Поэтому вокруг параметра и всего выражения ставят лишние скобки, чтобы приоритет операторов не сломал расчет. Запишем квадрат через безопасную форму и выведем результат:

#define SQR(x) ((x) * (x)) #include <iostream> int main() { int n = 4; std::cout << SQR(n) << "\n"; return 0; }

Опишите макрос DBL(x) как удвоение с нужными скобками. Для int k = 5 выведите результат макроса.

Добавьте макрос ADD(a, b) для суммы двух параметров в скобках. Выведите его для 2 и 3.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить