C++ 仕様書 17.4.3.1.2.1

2つの連続するアンダースコア __ を含む名前か、
アンダースコアで始まりそれに大文字が続く名前は
どんな場合においても処理系のために予約されています。

グローバル名前空間内においては
アンダースコアで始まる名前全体も
処理系のために予約されています。