#undef — dyrektywa (C/C++)
Usuwa (niszczy definicję) nazwę utworzoną wcześniej z #define.
#undef identifier
Uwagi
Dyrektywa #undef usuwa aktualną definicję identyfikatora.W związku z tym kolejne wystąpienia identyfikatora są ignorowane przez preprocesor.Aby usunąć definicji makra za pomocą #undef, określ tylko makra identyfikatora ; nie podawaj listy parametrów.
Można również stosować dyrektywę #undef do identyfikatora, który nie ma poprzedniej definicji.Dzięki temu identyfikator jest niezdefiniowany.Wymiana makra nie jest wykonywana w ramach instrukcji #undef.
Dyrektywa #undef jest zazwyczaj w połączeniu z dyrektywą #define, która utworzy region w programie źródłowym, w którym identyfikator ma specjalne znaczenie.Na przykład określona funkcja programu źródłowego może używać stałych manifestu do definiowania wartości specyficznych dla środowiska, które nie wpływają na pozostałe części programu.Dyrektywa #undef współpracuje również z dyrektywą #if do kontrolowania kompilacji warunkowej programu źródłowego.Zobacz Dyrektywy #if, #elif, #else oraz #endif, aby uzyskać więcej informacji.
W poniższym przykładzie dyrektywa #undef usuwa definicje symbolicznej stałej i makra.Należy zauważyć, że podany jest tylko identyfikator makro.
#define WIDTH 80
#define ADD( X, Y ) ((X) + (Y))
.
.
.
#undef WIDTH
#undef ADD
Specyficzne dla firmy Microsoft
Makra mogą być niezdefiniowane z wiersza polecenia przy użyciu opcji /U, poprzedzone nazwami makr, które mają być niezdefiniowane.Efekt wystawiania tego polecenia jest równoważny z sekwencją instrukcji #undefNazwa makra na początku pliku.
KONIEC informacji specyficznych dla firmy Microsoft