【发布时间】:2018-12-17 16:56:41
【问题描述】:
下面的代码中是否有任何依赖于平台或编译器的内容?在 cygwin 中使用 g++ 编译时,它给出的值与使用 VC++ 编译时不同。如果可能,我想删除任何此类依赖项。
minstd_rand0 engine;
engine.seed(3113722101);
uniform_int_distribution<int> day_dist(1, 365);
uniform_real_distribution<double> quant_dist(0.0, 1.0);
ofstream fout(argv[1]);
for (int i = 0; i < years; ++i) {
fout << (i + 1) << "\t";
fout << day_dist(engine) << "\t";
fout << quant_dist(engine) << "\t";
fout << quant_dist(engine) << "\t";
fout << quant_dist(engine) << "\n";
}
fout.close();
【问题讨论】:
-
你的随机数的输出?
-
能否请您包括两个程序的部分输出?
-
来自 cygwin 下 g++ 的第 1 行:1 51 0.351901 0.818985 0.240108 来自 VC++ 的第 1 行:1 194 0.0580325 0.351901 0.39661