Предположим, я хочу иметь 2 функции: одну, которая генерирует случайное целое число в заданном диапазоне, и одну, которая генерирует случайное двойное число в данном диапазоне.
int GetRandomNumber( int min, int max );
double GetRandomNumber( double min, double max );
Обратите внимание, что имена методов совпадают. Я пытаюсь решить, назвать ли функции, которые или ...
int GetRandomInteger( int min, int max );
double GetRandomDouble( double min, double max );
Преимущество первого варианта заключается в том, что пользователю не нужно беспокоиться о том, кому он звонит. Они могут просто вызвать GetRandomNumber с целыми или двойными числами и получить результат.
Второй вариант более явный в именах, но он показывает ненужную информацию вызывающей стороне.
Я знаю, это мелочно, но я забочусь о мелочах.
Редактировать: Как поведет себя C ++ в отношении неявного преобразования.
Пример:
GetRandomNumber( 1, 1 );
Это может быть неявно преобразовано для функции GetRandomNumber для двойной версии. Очевидно, я не хочу, чтобы это произошло. Будет ли C ++ использовать версию int перед двойной версией?