Spec-Zone.ru › GCC 13 CPP

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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API