Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
diretivas
As diretivas de pré-processador #ifdef e #ifndef têm o mesmo efeito da diretiva #if quando usada com o operador defined.
Sintaxe
#ifdefidentifier
#ifndefidentifier
Essas diretivas são equivalentes a:
#if definedidentifier
#if !definedidentifier
Comentários
É possível usar as diretivas #ifdef e #ifndef em qualquer lugar onde #if possa ser usada. A #ifdef identifier instrução é equivalente a #if 1 quando identifier foi definido. Ela é equivalente a #if 0 quando identifier não tiver sido definida, ou tiver sido indefinida pela #undef diretiva. Essas políticas verificam somente a presença ou ausência de identificadores definidos com #define, não para identificadores declarados no código-fonte C ou C++.
Essas políticas são fornecidas somente para compatibilidade com versões anteriores da linguagem. A defined( identifier ) expressão constante usada com a #if diretiva é preferida.
A diretiva #ifndef verifica o oposto da condição verificada por #ifdef. Se o identificador não foi definido (ou a definição foi removida com #undef), a condição é true (diferente de zero). Caso contrário, a condição será false (0).
Seção específica da Microsoft
O identificador pode ser passado da linha de comando usando a opção /D. Até 30 macros podem ser especificadas com /D.
A diretiva #ifdef é útil para verificar se uma definição existe, porque uma definição pode ser passada da linha de comando. Por exemplo:
// ifdef_ifndef.CPP
// compile with: /Dtest /c
#ifndef test
#define final
#endif
Fim da seção específica da Microsoft