Вопросы к Поиску с Алисой
Разница между #ifdef и #ifndef в программировании заключается в том, что они выполняют условную компиляцию в зависимости от определённости или неопределённости символической константы. prog-cpp.ru
Директива #ifdef проверяет, определён ли идентификатор. www.opennet.ru Если да, то значение условия — «истина» (не ноль), в противном случае — «ложь» (0). www.opennet.ru
Директива #ifndef проверяет условие, противоположное условию #ifdef. www.opennet.ru Если идентификатор не определён (или его определение удалено с помощью #undef), то условие — «истина», в противном случае — «ложь» (0). www.opennet.ru
Таким образом, основное различие в том, что #ifdef включает фрагмент кода, если макрос с указанным идентификатором определён выше по коду с помощью #define, а #ifndef — если не определён. www.mql5.com www.c-cpp.ru