"each name that contains a double underscore __ or begins with an underscore followed by an uppercase letter is always reserved to the implementation and should not be used as an identifier."[1]

[1] http://en.cppreference.com/w/cpp/keyword