我需要为蒙特卡洛模拟生成均匀分布的随机数。我阅读了这个线程Random double C++11并遵循了建议,但是,每当我在代码块中运行程序时,我仍然得到相同的数字。这是我的代码:
#include <iostream>
#include <random>
int main(){
std::random_device rd; // use random_device to get a random seed
std::mt19937 mt(rd()); // mt19937 is a proper pseudo-random number generator
std::uniform_real_distribution<double> unif(0,1); // generate uniformly distributed random doubles in [0,1]
double x = unif(mt);
std::cout << x << std::endl;
}
任何建议为什么会发生这种情况?