std :: uniform_real_distribution在mingw只给出一个数字

问题描述

我正在尝试运行以下代码

#include <iostream>
#include <random>

void foo() {
  std::random_device rd;
  std::mt19937 mt(rd());
  std::uniform_real_distribution<double> prob(0,1);
  std::cout << prob(mt) << '\n';
}

int main() {
  for (int i = 0; i < 5; ++i) {
    foo();
  }
  return 0;
}

在mingw-w64 \ x86_64-8.1.0-posix-seh-rt_v6-rev0 \ mingw64上,我得到以下结果:

0.726249
0.726249
0.726249
0.726249
0.726249

但是在ideone和g ++上,我得到了不同的数字。那是什么问题呢?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)