假设我希望有 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++会在double版本之前使用int版本吗?