#undef De directive (C/C++)
supprime (élimine) un nom précédemment créé avec #define.
#undef identifier
Notes
la directive d' #undef supprime la définition actuelle de l' identificateur.Par conséquent, les occurrences suivantes de l'identificateur sont ignorés par le préprocesseur.Pour supprimer une définition de macro en #undef, donnez uniquement la macro id ; n'attribuez pas de liste de paramètres.
Vous pouvez également appliquer la directive d' #undef par un identificateur qui n'a aucune définition précédente.Cela garantit que l'identificateur est pas défini.La macro remplacement n'est pas effectué dans des instructions d' #undef .
La directive d' #undef est généralement associée à une directive d' #define pour créer une zone 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 d'environnement-détail qui n'affectent pas le reste du programme.La directive d' #undef fonctionne également avec la directive d' #if pour contrôler la compilation conditionnelle de programme source.Consultez le #if, le #elif, le #else, et les directives de #endif pour plus d'informations.
Dans l'exemple suivant, la directive d' #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
Spécifique à Microsoft
Les macros peuvent être non définies de la ligne de commande avec l'option /U, suivie des noms de macros pour être non définies.L'effet de publier cette commande est équivalente à une séquence d'instructions de macro d' #undefau début du fichier.
détail de FIN Microsoft