Preprocessor Macros
Be very cautious with macros. Prefer inline functions, enums, andconst
variables to macros.
Macros mean that the code you see is not the same as the code the compiler sees. This can introduce unexpected behavior, especially since macros have global scope.