C ++ Uniform_real_distribution每次都会输出相同的值

时间:2020-03-07 09:18:39

标签: c++ random uniform-distribution mt19937

#include <random>
#include <iostream>
using namespace std;

vector<double> res;

int main()
{
    srand(time(NULL));
    std::random_device randomDevice;
    std::mt19937 generator(randomDevice());
    std::uniform_real_distribution<double> dist01(0,1);

    int n = 100;
    for (int i=1;i<=n;i++) res.push_back(dist01(generator));
    for (int i=1;i<=n;i++) {
            cout << res[i] << " ";
            if (i%10==0) cout << "\n";
    }
}

所以我有上面的程序。但是问题是即使我设置了srand(time(NULL))

,每次运行时结果都是一样的

我想念什么?如何使输出随机?

谢谢

0 个答案:

没有答案