予約済み識別子のこと

id:alohakunさんからご指摘がありましたので、注記として書いておきます。

変数名における冒頭の下線(アンダーバー)の扱いですが、
まず、下線に続き英大文字(_[A-Z])もしくは下線2つ(__)で始まる名前は常に処理系のために予約されています。
加えて、下線で始まる名前は「大域名前空間においての」処理系のために予約されています。

テキストとしてのコーディング規約などにも載っているとおり、
C/C++においては、
これら下線に続き始まる識別子は「常に」(処理系のために)予約済みで使用することができません。
再定義した場合は、動作は未定義になります。

classや、structの中身までは基本影響を及ぼさない筈(再定義ではないので)ですが、使用は推奨されません。
ついJava的な命名をして書いた僕が阿呆なのですが、皆様はどうかお気をつけくださいまし。