Udostępnij za pośrednictwem


Dyrektyw # ifdef i #ifndef (C/C++)

# Ifdef i #ifndef dyrektyw wykonania tego samego zadania jako #if dyrektywy, gdy jest używany z zdefiniowane( identyfikatora ).

#ifdef identifier
#ifndef identifier

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

Uwagi

Można użyć # ifdef i #ifndef dyrektyw w dowolnym miejscu #if mogą być używane.# Ifdefidentyfikator instrukcja jest równoważne z #if 1 po identyfikator została zdefiniowana, i jest równoważne z #if 0 po identyfikator nie został zdefiniowany lub zostały nie zdefiniowano, z #undef dyrektywy. Tych dyrektyw sprawdzanie tylko obecności lub braku identyfikatory zdefiniowane z #define, a nie dla identyfikatorów zadeklarowany w kodzie źródłowym c lub C++.

Dyrektywy te są dostarczane tylko dla zgodności z poprzednimi wersjami języka.Zdefiniowane (identyfikatora) wyrażenie stałe używane z #if dyrektywy jest preferowana.  

#Ifndef dyrektywy sprawdza przeciwieństwo warunku, kontrolowane przez # ifdef.Jeśli nie określono identyfikatora (lub jego definicję został usunięty z #undef), warunek jest true (niezerowej).W przeciwnym razie warunek ma wartość false (0).

Programu Microsoft

Identyfikatora mogą być przekazywane z wiersza polecenia, używając opcji /D.Maksymalnie 30 makra można określić przy użyciu /D.

Jest to przydatne do sprawdzania, czy istnieje definicji, ponieważ definicja mogą być przekazywane z wiersza polecenia.Na przykład:

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

KONIEC Microsoft szczególne

Zobacz też

Informacje

Dyrektywy preprocesora