我正在做一些随机数生成并获得可疑行为。这是我的代码:
// initialized earlier... in the constructor of a class
boost::mt19937 *rng = new boost::mt19937();
rng->seed(time(NULL));
// actual use here.
for (int i = 0; i < 10; ++i)
{
test();
}
void test()
{
boost::normal_distribution<> distribution(10, 10);
boost::variate_generator< boost::mt19937, boost::normal_distribution<> > resampler(*rng, distribution);
const double sample = (resampler)(); // always the same value.
}
我在提升中滥用随机抽样吗?我做错了什么以使其始终具有相同的价值。我在构造函数中初始化了随机数生成器,所以它应该总是吐出一个不同的值(没有重新初始化)