Voici une liste des mots clefs réservés du C++. Ces mots font partie du langage. Ils ne peuvent donc pas être redéfinis (ou surchargés) par les programmeurs.
| Mot clef | Description |
|---|---|
| asm | insère des instructions en assembleur |
| auto | déclare une variable locale |
| bool | déclare une variable booléenne |
| break | permet de sortir d'une boucle |
| case | introduit un morceau de code pour un cas donné dans un switch |
| catch | traite les exceptions lancées par un throw |
| char | déclare une variable de type char sur 8 bits |
| class | déclare une classe |
| const | déclare une variable constante ou une méthode ne modifiant pas sa classe |
| const_cast | cast permettant de retirer le const d'une variable |
| continue | passe immédiatement à l'itération suivante de la boucle en cours |
| default | introduit un morceau de code exécuté si aucun case n'a matché dans le switch |
| delete | libère la mémoire allouée à un pointeur |
| do | début d'une boucle do/while |
| double | déclare une variable de type flottant double précision |
| dynamic_cast | cast polymorphique effectué au moment de l'exécution (avec vérification de type) |
| else | clause alternative de l'instruction conditionnelle if |
| enum | crée un type énuméré et des identifiants pour les différentes valeurs |
| explicit | permet à un constructeur de ne pas être appelé par le compilateur implicitement, même si sa signature correspond à une conversion possible |
| export | permet à la définition d'un template d'être séparée de sa déclaration |
| extern | indique au compilateur que la variable est définie ailleurs |
| false | représente la valeur booléenne FAUX |
| float | déclare une variable de type flottant simlpe précision |
| for | construction d'une boucle |
| friend | permet à une fonction non membre d'accéder aux membres privés de la classe |
| goto | saute inconditionnellement à un autre endroit du programme |
| if | instruction conditionnelle permettant d'exécuter du code si le résultat d'une condition est vrai |
| inline | indique au compilateur d'optimiser l'accès à une méthode courte |
| int | déclare une variable de type entier |
| long | déclare une variable de type entier long |
| mutable | définit une variable qui pourra être modifiée dans une méthode const d'une classe |
| namespace | permet de définir un nouvel espace de nom dans l'espace global |
| new | alloue dynamiquement de la mémoire pour une nouvelle variable |
| operator | permet de surcharger un opérateur |
| private | déclare des membres privés de la classe |
| protected | déclare des membres protégés de la classe |
| public | déclare les membres publics de la classe |
| register | tente d'optimiser en demandant au compilateur de placer la variable dans un registre du processeur |
| reinterpret_cast | cast inconditionnel permettant de changer le type d'une variable |
| return | sort d'une fonction |
| short | déclare une variable de type entier court |
| signed | indique la la variable déclarée est signée |
| sizeof | renvoie la taille d'un type ou d'une variable |
| static | indique que la variable ne doit pas être stockée dans la pile. Permet aussi de créer des méthodes de classe. |
| static_cast | effectue un cast non polymorphique |
| struct | définit une nouvelle structure |
| switch | introduit une alternative basée sur la valeur d'une variable |
| template | crée une classe ou une méthode template |
| this | pointeur sur l'objet courant |
| throw | lance une exception |
| true | représente la valeur booléenne VRAI |
| try | exécute du code pouvant lancer une exception |
| typedef | crée un nouveau type à partir d'un type existant |
| typeid | permet d'obtenir des information sur un type lors de l'exécution |
| typename | permet d'indiquer qu'une expression est un type et pas une déclaration |
| union | définit une structure qui place ses différents membres à la même adresse mémoire |
| unsigned | indique la la variable déclarée est non signée |
| using | importe le contenu d'un namespace donné dans le namespace en cours |
| virtual | crée une méthode qui pourra être redéfinie dans les classes dérivées |
| void | déclare une fonction sans valeur de retour ou un pointeur vers un type indéterminé |
| volatile | indique au compilateur que cette variable peut être modifiée à tout moment par le matériel, par exemple |
| wchar_t | déclare une variable de type wide char |
| while | début d'une boucle while ou fin d'une boucle do/while |