#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