Reserved names in the global namespace
问题 Arising from my answer to Dynamic array of objects in C++ and as a follow up to What are the rules about using an underscore in a C++ identifier?: apparently, names beginning with _ followed by an uppercase letter are reserved in the global namespace. 17.4.3.2.1 Global names [ lib.global.names ] Certain sets of names and function signatures are always reserved to the implementation: Each name that contains a double underscore ( __ ) or begins with an underscore followed by an uppercase letter