Mots clés C++
Les mots clés sont des identificateurs réservés prédéfinis qui ont des significations particulières. Ils ne peuvent pas être utilisés comme identificateurs dans votre programme. Les mots clés suivants sont réservés pour Microsoft C++. Les noms avec des traits de soulignement à gauche correspondent à des extensions Microsoft.
__box 2 |
||
__gc 2 |
||
__hook 3 |
||
__nogc 2 |
||
__pin 2 |
||
__sealed 2 |
||
__unhook 3 |
||
__value 2 |
||
naked 1 |
||
noinline 1 |
noreturn 1 |
|
nothrow 1 |
novtable 1 |
|
property 1 |
||
thread 1 |
||
uuid 1 |
||
1 Attributs étendus pour le mot clé __declspec.
2 Applicable aux Extensions managées pour C++ uniquement. Cette syntaxe est maintenant déconseillée.
3 Fonction intrinsèque utilisée dans la gestion des événements.
Pour plus d'informations, consultez Fonctionnalités de langage pour cibler le CLR.
Section spécifique à Microsoft
En Microsoft C++, les identificateurs avec deux traits de soulignement à gauche sont réservés aux implémentations du compilateur. Par conséquent, la convention Microsoft est de faire précéder ses mots clés spécifiques de deux traits de soulignement. Ces mots ne peuvent pas être utilisés en tant que noms d'identificateurs.
Les extensions Microsoft sont activées par défaut. Pour garantir la portabilité totale de vos programmes, vous pouvez désactiver les extensions Microsoft en spécifiant l'option de ligne de commande compatible ANSI /Za (compilation pour compatibilité ANSI) pendant la compilation. Dans ce cas, les mots clés spécifiques à Microsoft sont désactivés.
Lorsque les extensions Microsoft sont activées, vous pouvez utiliser les mots clés Microsoft spécifiques dans vos programmes. Pour la compatibilité ANSI, ces mots clés sont précédés d'un trait de soulignement double. Pour la compatibilité descendante, les versions à trait de soulignement simple de tous les mots clés à trait de soulignement double, sauf __except, __finally, __leave et __try, sont prises en charge. En outre, __cdecl est disponible sans trait de soulignement.
Le mot clé __asm remplace la syntaxe C++ asm. asm est réservé pour la compatibilité avec d'autres implémentations C++, mais n'est pas implémenté. Utilisez __asm.
Le mot clé __based a des utilisations limitées pour les compilations 32 bits et 64 bits cibles.