0

我正在尝试运行此代码:

#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++ 上,我得到不同的数字。那么问题是什么?

4

0 回答 0