#undef, directive (C/C++)
Supprime (élimine) un nom créé précédemment avec #define
.
Syntaxe
identificateur de #undef
Notes
La directive #undef supprime la définition actuelle de l’identificateur. Par conséquent, les occurrences suivantes de l’identificateur sont ignorées par le préprocesseur. Pour supprimer une définition de macro à l’aide de #undef, donnez uniquement l’identificateur de macro, et non une liste de paramètres.
Vous pouvez également appliquer la directive #undef à un identificateur qui n’a aucune définition précédente. Cela garantit que l'identificateur n'est pas défini. Le remplacement des macros n’est pas effectué dans les instructions #undef .
La directive #undef est généralement associée à une #define
directive pour créer une région dans un programme source dans lequel un identificateur a une signification particulière. Par exemple, une fonction spécifique du programme source peut utiliser des constantes manifestes pour définir les valeurs spécifiques à l'environnement qui n'affectent pas le reste du programme. La directive #undef fonctionne également avec la directive pour contrôler la #if
compilation conditionnelle du programme source. Pour plus d’informations, consultez les directives #if, #elif, #else et #endif.
Dans l’exemple suivant, la directive #undef supprime les définitions d’une constante symbolique et d’une macro. Notez que seul l'identificateur de la macro est donné.
#define WIDTH 80
#define ADD( X, Y ) ((X) + (Y))
.
.
.
#undef WIDTH
#undef ADD
Section spécifique à Microsoft
Les macros peuvent être non définies à partir de la ligne de commande à l’aide de l’option /U
, suivie des noms de macros à non défini. L’effet de l’émission de cette commande équivaut à une séquence d’instructions #undef
de nom de macro au début du fichier.
FIN de la section spécifique à Microsoft
Voir aussi
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour