It is. The page starts with talk about namespaces and such, so one thinks this will be about some cool new features of C++11, but instead ends with a global #define.<p>Yes, coding like this is evil and will eat your hamster. For example, trying to have a variable named &quot;platform&quot; will break your code in strange ways. And before you say &quot;but it&#x27;s C++, it&#x27;s modern&quot;, CppCoreGuidelines explicitly say this is bad and that one should favor #ifdefs.  (<a href="https:&#x2F;&#x2F;github.com&#x2F;isocpp&#x2F;CppCoreGuidelines&#x2F;blob&#x2F;master&#x2F;CppCoreGuidelines.md#es30-dont-use-macros-for-program-text-manipulation" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;isocpp&#x2F;CppCoreGuidelines&#x2F;blob&#x2F;master&#x2F;CppC...</a>)