Maison > développement back-end > C++ > La redéfinition des mots-clés C avec les normes #define est-elle conforme ?

La redéfinition des mots-clés C avec les normes #define est-elle conforme ?

Patricia Arquette
Libérer: 2024-11-21 04:03:17
original
820 Les gens l'ont consulté

Is Redefining C   Keywords with #define Standards Compliant?

Définition du préprocesseur et redéfinition des mots clés en C

Dans le domaine des directives du préprocesseur C, un débat houleux a éclaté concernant la conformité aux normes de la redéfinition mots-clés utilisant #define. Un préprocesseur conforme peut-il permettre une telle pratique ?

Le préprocesseur et les mots-clés

Selon la norme C, le §17.4.3.1.1/2 interdit explicitement de redéfinir un mot-clé dans une unité de traduction qui comprend un en-tête de bibliothèque standard. Cette restriction garantit l'intégrité des composants de la bibliothèque standard.

C 0x et redéfinition des mots clés

Au départ, on croyait que C 0x (un intermédiaire désormais obsolète vers C 11 ) renforcerait cette interdiction pour interdire purement et simplement la redéfinition des mots clés (§17.6.3.3.1). Cependant, il a été précisé depuis que les règles de C 0x restent inchangées. La révision perçue résulte d'un réarrangement du texte qui a induit certains en erreur par inadvertance.

Conformité aux normes et redéfinition des mots-clés

Compte tenu des normes actuelles, un programme C qui redéfinit un mot-clé ne peut pas être considéré comme conforme aux normes. En violant la restriction relative à la redéfinition des mots clés, un tel programme viole l'intégrité du langage et sa sémantique intégrée.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal