Условная компиляция в C++ позволяет компилировать различные части программы в зависимости от условий, заданных на этапе препроцессинга. Это достигается с помощью директивы #ifdef (если определён) или #ifndef (если не определён).
Примеры условной компиляции:
-
Пример с
#ifdef:#ifdef DEBUG // Этот код будет скомпилирован только если DEBUG определён std::cout << "Debug mode is enabled!" << std::endl; #endif -
Пример с
#ifndef:#ifndef NDEBUG // Этот код будет скомпилирован только если NDEBUG НЕ определён std::cout << "Debugging information is enabled!" << std::endl; #endif -
Определение и использование своих макросов:
#define MY_FEATURE_ENABLED #ifdef MY_FEATURE_ENABLED // Включаем функциональность, если MY_FEATURE_ENABLED определён performCustomAction(); #else // Включаем другую функциональность, если MY_FEATURE_ENABLED НЕ определён performDefaultAction(); #endif
Условная компиляция позволяет легко настраивать и адаптировать код в зависимости от конфигурации проекта или условий окружающей среды.