Quelques constantes sont éventuellement prédéfinies au début de la compilation par le compilateur C++ ; elles peuvent être utilisées dans des clauses de compilation conditionnelles. Leur nom et valeur dépendent du compilateur, du système et de la machine utilisés. Voici par exemple les principales utilisées par Turbo C++ sous MS-DOS :
__cpluplus | Définie si le compilateur est en mode C++. Si on la rend indéfinie, le compilateur repasse en mode C standard, et refuse les déclarations internes, les nouveaux mots réservés, etc. |
__MSDOS__ | Toujours définie ; indique que le système dexploitation est MS-DOS. |
__DATE__ | Date du début de la compilation. |
__HEURE__ | Heure du début de la compilation. |
__FILE__ | Nom du fichier courant. |
__TURBOC__ | Numéro de version de Turbo C++ sous la forme dune constante hexadécimale : 0x0100 pour la version 1.0, etc. |
__STDC__ | Définie si la compilation se fait en standard ANSI, non définie sinon (valeur par défaut). |
__CDECL__ | Indique des formats dappel de fonctions en C (par opposition au format de Pascal). Son opposé est __PASCAL__ . |