【发布时间】:2013-10-08 22:44:12
【问题描述】:
我正在制作一个模板函数对象,它将生成一个范围随机数。我知道如何为整数或浮点数做到这一点。但我的问题是我希望它能够生成 T 类型的范围随机数。
所以,因为我希望它能够返回浮点数和整数,所以我不能使用 % 运算符。这似乎适用于浮点值。但是如果 T 是 INT ,它会弄乱范围。
return (_minValue + (T)rand() / ((T)RAND_MAX / (_maxValue - _minValue)));
该算法中一定有一些错误,我现在似乎找不到。
【问题讨论】:
-
使用
<random>库。