Существуют ли передовые практики для имен функций в том случае, когда существуют функции на месте и на месте, и их нельзя различить с помощью параметров?
Пример. Предположим, у меня есть функция чтобы сделать строку заглавной:
void toUppercase(std::string & s); // modify s directly, in-place
void toUppercase(const std::string & s, std::string & result); // result will contain the modified string
std::string toUppercase(const std::string & s); // return the modified string
Функции 1 и 2 можно различить в C ++, даже если они имеют одинаковые имена, а 1 и 3 - нет. Какие имена дадут пользователю понять, какая функция что делает? Есть ли какие-нибудь примеры библиотек, где эта проблема была решена каким-то образом?