(cpp.info.gz) Macros
Info Catalog
(cpp.info.gz) Header Files
(cpp.info.gz) Top
(cpp.info.gz) Conditionals
3 Macros
********
A "macro" is a fragment of code which has been given a name. Whenever
the name is used, it is replaced by the contents of the macro. There
are two kinds of macros. They differ mostly in what they look like
when they are used. "Object-like" macros resemble data objects when
used, "function-like" macros resemble function calls.
You may define any valid identifier as a macro, even if it is a C
keyword. The preprocessor does not know anything about keywords. This
can be useful if you wish to hide a keyword such as `const' from an
older compiler that does not understand it. However, the preprocessor
operator `defined' ( Defined) can never be defined as a macro,
and C++'s named operators ( C++ Named Operators) cannot be
macros when you are compiling C++.
Menu
* Object-like Macros
* Function-like Macros
* Macro Arguments
* Stringification
* Concatenation
* Variadic Macros
* Predefined Macros
* Undefining and Redefining Macros
* Directives Within Macro Arguments
* Macro Pitfalls
Info Catalog
(cpp.info.gz) Header Files
(cpp.info.gz) Top
(cpp.info.gz) Conditionals
automatically generated by
info2html