Directivas #ifdef y de #ifndef (C/C++)

Las directivas de utilice y de #ifndef realizan la misma tarea que la directiva de #if cuando se utiliza con definido( identificador ).

#ifdef identifier
#ifndef identifier

// equivalent to
#if defined identifier
#if !defined identifier

Comentarios

Puede utilizar utilice y directivas en cualquier parte #if de #ifndef pueden utilizar.La instrucción delidentificador de utilicees equivalente a#if 1cuando el identificador ha sido definidas, y es equivalente a#if 0cuando el identificador no se ha definido o no con la directiva de #undef .Estas directivas comprobadas sólo para la presencia o ausencia de identificadores definido con #define, no para los identificadores declarados en el código fuente de C o C++.

Estas directivas se proporcionan únicamente para la compatibilidad con versiones anteriores del lenguaje.La expresión constante de **)**IDde **definido (**utilizada con la directiva de #if se prefiere.

Las comprobaciones de la directiva de #ifndef contraste condition activada por utilice.Si el identificador no ha sido definidas (o su definición se ha quitado con #undef), la condición es true (cero).Si no, la condición es false (0).

Específicos de Microsoft

El identificador se puede pasar de la línea de comandos con la opción /D.hasta 30 macros se pueden especificar con /D.

esto es útil para comprobar si existe una definición, porque una definición se puede pasar de la línea de comandos.Por ejemplo:

// ifdef_ifndef.CPP
// compile with: /Dtest /c
#ifndef test
#define final
#endif

Específico de Microsoft de FINAL

Vea también

Referencia

Directivas de preprocesador