The C++ preprocessor runs before any other compilation happens. Commands given to the preprocessor allow the programmer to define variables, perform text substitution, and test simple conditions.
| # and ## | manipulate strings |
| #define | define macrodefinition |
| #error | display an error message |
| #if, #ifdef, #ifndef, #else, #elif, and #endif | conditional operators |
| #include | insert the contents of another file |
| #line | set line and file information |
| #pragma | implementation specific command |
| #undef | used to undefine macrodefinitions |
| Predefined preprocessor variables | miscellaneous preprocessor variables |