I was reading another question, and it got me thinking. Often the standard specifies functions which have default parameters in their descriptions. Does the standard allow writi
Could a conforming implementation of the standard library implement this instead as two functions like this?
Yes. The C++ Standard (C++03 17.4.4.4/2-3) says:
An implementation can declare additional non-virtual member function signatures within a [Standard Library] class:
-- by adding arguments with default values to a member function signature; the same latitude does not extend to the implementation of virtual or global or non-member functions, however.
-- by replacing a member function signature with default values by two or more member function signatures with equivalent behavior;
-- 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 the same as if the implementation declares no additional member function signatures