3 Макросы
Макрос — это фрагмент кода, которому присвоено имя. Всякий раз, когда используется имя, оно заменяется содержимым макроса. Существует два вида макросов. Они различаются в основном тем, как выглядят при использовании. Объектно-подобные макросы при использовании напоминают объекты данных, функционально-подобные макросы напоминают вызовы функций.
Вы можете определить любой допустимый идентификатор как макрос, даже если это ключевое слово 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-12.1.0/cpp/Macros.html