5

我希望能够将随机数生成器的状态保存在 .txt 文件中并将其读回。我听说使用 c++11,这可以使用 << 和 >> 运算符来完成。但是,我不确定我将如何做到这一点。我有一个随机数生成器初始化如下:

mt19937 myRandomGenerator(1);
normal_distribution<double> myDistribution(0.0, 1.0);

我希望能够将 myRandomGenerator 的状态保存在文件 save.txt 中。我该怎么做?

4

1 回答 1

9

就像描述的那样,使用写它operator<<并读回使用的状态operator>>

#include <fstream>
#include <random>
#include <cassert>

int main() {
  std::mt19937 myRandomGenerator(1);

  {
    std::ofstream fout("save.txt");
    fout << myRandomGenerator;
  }

  std::ifstream fin("save.txt");
  std::mt19937 myRandomGeneratorCopy;
  fin >> myRandomGeneratorCopy;
  assert(myRandomGenerator == myRandomGeneratorCopy);
}
于 2013-08-21T15:11:27.877 回答