【发布时间】:2017-02-26 23:56:28
【问题描述】:
代码示例:
#include <iostream>
#include <random>
using namespace std;
int main()
{
mt19937 generator(0);
uniform_int_distribution<int> distr(0, 100);
for(auto i = 0; i < 10; ++i)
{
cout << distr(generator) << "\n";
}
}
此代码在 Mac 和 Windows 上生成不同的数字,但将 uniform_int_distribution 替换为 uniform_real_distribution 可解决该问题,并且在两个平台上生成的序列相同。
为什么会这样?
【问题讨论】: