
he C++ preprocessor may seem like a prehistoric relic that has no place in state-of-the-art C++ projects, but this isn't really so. Although every beginner nowadays knows how to use
inline functions and const variables instead of #define macros, the preprocessor is still an indispensable tool when it comes to source file management and cross-platform development.

How can you avoid multiple inclusions of the same header file during a compilation session? How can you overcome platform-dependencies in a large-scale project?

Use the preprocessor to perform conditional compilation.