Both the C++ standard library implementation that comes with Visual Studio and the windows API (both Win32 and MFC) includes loads of macros.
For examples they have defined "TRUE" and "FALSE" as 1 and 0. And replaces bool in all contexts with a "BOOL" which is a typedef to an int. And they are not even using three way logic.
There is also the "min" and "max" macros, which could easily be replaced with templates.
There are also tons of defines that are simply defined to nothing such as "far" and "near".