Direttiva del #undef (C/C++)

Rimuove (definizione) un nome creato in precedenza con #define.

#undef identifier

Note

#undef la direttiva consente di rimuovere la definizione corrente di identificatore.Di conseguenza, occorrenze successive di identificatore vengono ignorati dal preprocessore.Per rimuovere una definizione macro utilizzando #undef, fornire solo la macro identificatore ; non fornire un elenco di parametri.

È inoltre possibile applicare #undef direttiva a un identificatore che non dispone di definizione precedente.Questo assicura che l'identificatore sia definito.La macro sostituzione non viene eseguita a #undef istruzioni.

#undef la direttiva in genere viene abbinata a un oggetto #define direttiva per creare un'area in un programma di origine in cui un identificatore assume un significato speciale.Ad esempio, una funzione specifica del programma di origine può utilizzare le costanti manifesto per definire i valori ambiente-specifici che non influenzano il resto del programma.#undef di direttiva è applicabile anche a #if direttiva per controllare la compilazione condizionale del programma di origine.vedere Il blocchi #if, il #elif, il #else e del #endif per ulteriori informazioni.

Nell'esempio seguente, #undef la direttiva consente di rimuovere le definizioni di una costante simbolica e di una macro.Notare che solo l'identificatore della macro viene fornito.

#define WIDTH 80
#define ADD( X, Y ) ((X) + (Y))
.
.
.
#undef WIDTH
#undef ADD

Specifici di Microsoft

Le macro possono essere definite dalla riga di comando utilizzando l'opzione /U, seguita dai nomi di macro da definire.L'effetto della pubblicazione di questo comando è equivalente a una sequenza di #undef macro-nome istruzioni all'inizio del file.

Microsoft FINALE specifico

Vedere anche

Riferimenti

Direttive per il preprocessore