Constraints

Identifiers cannot be exactly the same spelling and case as keywords (see “C++ Keywords” for more information). (Identifiers that contain keywords are legal. For example, Pint is a legal identifier, even though it contains int, which is a keyword.)

Use of two sequential underscore characters (__) at the beginning of an identifier, or a single leading underscore followed by a capital letter, is reserved for C++ implementations in all scopes. Use of one leading underscore followed by a lowercase letter should be avoided for names with file scope because of possible conflicts with current or future reserved identifiers.