| title |
Preprocessor Operators | Microsoft Docs |
| ms.custom |
|
| ms.date |
11/04/2016 |
| ms.reviewer |
|
| ms.suite |
|
| ms.technology |
|
| ms.tgt_pltfrm |
|
| ms.topic |
article |
| dev_langs |
|
| helpviewer_keywords |
preprocessor operators |
operators [C++], preprocessor |
|
| ms.assetid |
884126d1-0ce2-48b6-9e06-8a2d7c4a9656 |
| caps.latest.revision |
6 |
| author |
corob-msft |
| ms.author |
corob |
| manager |
ghogen |
| translation.priority.ht |
cs-cz |
de-de |
es-es |
fr-fr |
it-it |
ja-jp |
ko-kr |
pl-pl |
pt-br |
ru-ru |
tr-tr |
zh-cn |
zh-tw |
|
Four preprocessor-specific operators are used in the context of the #define directive (see the following list 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 |
Preprocessor Directives
Predefined Macros
C/C++ Preprocessor Reference