Partilhar via


Diretiva #undef (C/C++)

Remove (não define) um nome criado anteriormente com #define.

#undef identifier

Comentários

A política #undef remove a definição atual do identificador. Consequentemente, as ocorrências subsequentes do identificador serão ignoradas pelo pré-processador. Para remover uma definição de macro usando #undef, especifique apenas o identificador da macro; não forneça uma lista de parâmetros.

Você também pode aplicar a política de #undef a um identificador que não tem nenhuma definição anterior. Isso garante que o identificador seja indefinido. A substituição da macro não é executada nas instruções de #undef.

A política de #undef é emparelhada normalmente com uma política de #define para criar uma região em um programa de origem no qual um identificador tem um significado especial. Por exemplo, uma função específica do programa de origem pode usar constantes manifestas para definir os valores específicos que não afetam o restante do programa. A política de #undef também funciona com a política de #if para controlar a compilação condicional do programa de origem. Consulte O #if, o #elif, o #else e as políticas de #endif para obter mais informações.

No exemplo a seguir, a política de #undef remove as definições de uma constante de token e de uma macro. Somente o identificador de macro será fornecido.

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

Específico da Microsoft

Macros podem ser definidas a partir da linha de comando usando a opção /U, seguida dos nomes de macros a serem definidos. O efeito de emitir esse comando é equivalente a uma sequência de instruções macro-name #undefno início do arquivo.

FIM de Específico da Microsoft

Consulte também

Referência

Diretivas de pré-processador