Поделиться через


Рекомендации и #ifdef #ifndef (C/C++)

#ifdef и #ifndef директивы выполняют одну и ту же задачу как #if при использовании директива defined( Идентификатор ).

#ifdef identifier
#ifndef identifier

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

Заметки

Можно использовать #ifdef и #ifndef рекомендации в любом месте #if может использоваться.#ifdef Идентификатор выписка эквивалентна#if 1после Идентификатор определяет, и он эквивалентен#if 0после Идентификатор не указано или не определен с #undef директива.Эти правила проверяют только наличия или отсутствия идентификаторов, указанных с #defineне для идентификаторов, объявленных в исходном коде c или C++.

Эти рекомендации предназначены только для совместимости с предыдущими версиями языка.задан ( Идентификатор ) константное выражение, используемое с #if директива предпочтена.

#ifndef директива проверяет наличие условий для проверенного противоположности by #ifdef.Если идентификатор не задан (или ее определение было удалено с #undefусловие имеет значение true (), не равно нулю).В противном случае условие имеет значение false (0).

Только для систем Microsoft

Идентификатор может передаваться из командной строки с помощью параметра /D.До 30 макросов может быть определено параметром /D.

Это полезно для проверки существования определение, потому что определение может передаваться из командной строки.Примеры.

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

ЭЛЕМЕНТ, относящийся Майкрософт

См. также

Ссылки

Директивы препроцессора