Вопросы к Поиску с Алисой
Директивы #ifdef и #ifndef отличаются по своему действию. www.geeksforgeeks.org cplusplus.com
Директива #ifdef позволяет включать раздел кода, если определённый макрос определён с помощью #define. www.geeksforgeeks.org Если макрос не определён, то фрагмент кода исключается из компиляции. www.mql5.com
Директива #ifndef работает по обратной логике: блок инструкций между #ifndef и #endif будет выполнен только в том случае, если макрос или идентификатор с #ifndef не определён. www.geeksforgeeks.org
Таким образом, основное отличие в том, что #ifdef включает код, если макрос определён, а #ifndef — если макрос не определён. www.geeksforgeeks.org cplusplus.com
Директивы обозначают начало управляемого ими фрагмента кода, который завершается с помощью директивы #endif. www.mql5.com