Макрос с параметром в 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.