Макросы с аргументами Мы также можем писать макросы, которые принимают аргументы. Вот пример
макроса с аргументом:
#define println(X) cout << X << endl;
Что этот макрос будет делать? Каждый раз когда println (“Некое значение”) будет
встречаться в коде, код справой стороны (cout << "Some value" << endl) будет
скопирован и вставлен на консоли. Заметьте что аргумент между скобок
скопирован на место Х. Скажем у нас есть следующая строка кода:
println( "Всем привет" )
Она будет замещена следующим утверждением:
cout << "Всем привет" << endl;
Макросы с аргументами прямо как короткие функции. Макросы не могут
содержать символы-разделители строк.