Diretivas # ifdef e # ifndef (C/C++)
O # ifdef e # ifndef diretivas executam a mesma tarefa como a #if diretiva quando ele é usado com definida pelo( identificador ).
#ifdef identifier
#ifndef identifier
// equivalent to
#if defined identifier
#if !defined identifier
Comentários
Você pode usar o # ifdef e # ifndef em qualquer lugar diretivas #if pode ser usado.O # ifdefidentificador declaração é equivalente a #if 1 quando identificador tiver sido definida, e é equivalente a #if 0 quando identificador não foi definido ou não tem sido definida com o #undef diretiva. Essas diretivas somente verificar a presença ou ausência de identificadores definidos com #define, mas não para identificadores declaradas no código-fonte c ou C++.
Essas diretivas são fornecidas apenas para compatibilidade com versões anteriores da linguagem.O definido (identificador) expressão de constante usada com o #if diretiva é preferida.
O # ifndef diretiva verifica o oposto da condição marcada por # ifdef.Se o identificador não tiver sido definido (ou sua definição foi removida com #undef), a condição é verdadeira (diferente de zero).Caso contrário, a condição for falsa (0).
Específicos do Microsoft
O identificador podem ser passados na linha de comando usando a opção /D.Até 30 macros, podem ser especificadas com /D.
Isso é útil para verificar se existe uma definição, porque uma definição pode ser passada na linha de comando.Por exemplo:
// ifdef_ifndef.CPP
// compile with: /Dtest /c
#ifndef test
#define final
#endif
Específicos do Microsoft final