C++ › Preprocessor & Macros

What are conditional compilation directives used for?

Intermediate

Answer

#if/#ifdef/#ifndef/#else/#endif include or exclude code at compile time based on macros—used for platform-specific code, feature toggles, debug/release differences, and include guards. They let one codebase compile differently for different targets or configurations.
#ifdef _WIN32
    // Windows-specific code
#else
    // POSIX code
#endif
Real-world example Platform-specific file paths are selected via #ifdef _WIN32 so one codebase builds on Windows and Linux.

Common follow-ups: What is a common use of #ifdef? | How do feature toggles use it?