17 Library introduction [library]

17.6 Library-wide requirements [requirements]

17.6.5 Conforming implementations [conforming]

17.6.5.5 Member functions [member.functions]

It is unspecified whether any member functions in the C++ standard library are defined as inline ([dcl.fct.spec]).

An implementation may declare additional non-virtual member function signatures within a class:

  • by adding arguments with default values to a member function signature;188Note: An implementation may not add arguments with default values to virtual, global, or non-member functions. — end note ]

  • by replacing a member function signature with default values by two or more member function signatures with equivalent behavior; and

  • by adding a member function signature for a member function name.

A call to a member function signature described in the C++ standard library behaves as if the implementation declares no additional member function signatures.189

Hence, the address of a member function of a class in the C++ standard library has an unspecified type.

A valid C++ program always calls the expected library member function, or one with equivalent behavior. An implementation may also define additional member functions that would otherwise not be called by a valid C++ program.