Ответ 1
Может ли соответствующая реализация стандартной библиотеки реализовать это вместо этого как две функции, подобные этой?
Да. В стандарте С++ (С++ 03 17.4.4.4/2-3) говорится:
Реализация может объявлять дополнительные не виртуальные сигнатуры функций-членов в классе [Стандартная библиотека]:
- путем добавления аргументов с значениями по умолчанию в подпись функции-члена; тем не менее, одна и та же широта не распространяется на реализацию виртуальных или глобальных или нечленовских функций.
- , заменив подпись функции-члена стандартными значениями на две или более подписей функций-членов с эквивалентным поведением;
- путем добавления сигнатуры функции-члена для имени функции-члена.
Вызов подписи функции-члена, описанной в библиотеке C + + Standard, ведет себя так же, как если бы реализация не объявляла никаких дополнительных подписей функций-членов