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.