3 Макросы
A macro — это фрагмент кода, которому присвоено имя. Всякий раз, когда используется это имя, оно заменяется содержимым макроса. Существует два типа макросов. Они различаются в основном тем, как выглядят при использовании. Объектно-подобные макросы напоминают объекты данных при использовании, функционально-подобные макросы напоминают вызовы функций.
Вы можете определить любой допустимый идентификатор как макрос, даже если это ключевое слово C. Препроцессор не знает ничего о ключевых словах. Это может быть полезно, если вы хотите скрыть ключевое слово, например const, от более старого компилятора, который его не понимает. Однако оператор препроцессора defined (см. Определённые) никогда не может быть определён как макрос, и именованные операторы C++ (см. Именованные операторы C++) не могут быть макросами при компиляции C++.
© Free Software Foundation
Licensed under the GNU Free Documentation License, Version 1.3.
https://gcc.gnu.org/onlinedocs/gcc-13.3.0/cpp/Macros.html