Preprocessor operators
Four preprocessor-specific operators are used in the context of the #define
directive. See the following table for a summary of each. The stringizing, charizing, and token-pasting operators are discussed in the next three sections. For information on the defined
operator, see The #if, #elif, #else, and #endif directives.
Operator | Action |
---|---|
Stringizing operator (#) | Causes the corresponding actual argument to be enclosed in double quotation marks |
Charizing operator (#@) | Causes the corresponding argument to be enclosed in single quotation marks and to be treated as a character (Microsoft-specific) |
Token-pasting operator (##) | Allows tokens used as actual arguments to be concatenated to form other tokens |
defined operator | Simplifies the writing of compound expressions in certain macro directives |
See also
Preprocessor directives
Predefined macros
c/c++ preprocessor reference