【发布时间】:2012-03-02 21:12:36
【问题描述】:
首先,我真的没有问题,但我喜欢让事情尽可能简单。
我正在使用一个名为 Math 的模板类,除了很多其他东西之外,还有随机函数。
不同类型的随机函数,以及一个设置随机种子的函数。所以除了种子函数之外的每个函数都使用类型class Real。但是当我想设置种子时,我必须传递一些随机(哈哈)类型才能调用该函数:
Math<u32>::SeedRandom(System::time());
同样,这不是一个真正的问题,但我很好奇是否有可能在不需要使用 <u32> 的情况下获得相同的结果。
这里有一个数学类的 sn-p:
template <class Real>
class Math
{
public:
static void SeedRandom(u32 seed) { srand(seed); }
static Real UnitRandom() { return (Real)((f64)rand() / (f64)RAND_MAX); }
};
顺便说一句。 f64 被定义为 double 和 u32 到 unsigned int。
【问题讨论】: