例如,如果我在GCC和MSVC下使用完全相同的种子和参数实例化std::mt19937
,我应该得到相同的随机数序列吗?如果是这样的话,我认为这个属性通常适用于mersenne_twister_engine,因为mt19937只是一个具有特定参数的属性。对于C中的rand()
,情况并非如此。看起来标准文档是根据特定代码应用的转换,所以我怀疑它应该始终是相同的,但是魔鬼在细节中......
答案 0 :(得分:22)
对于新的随机数引擎,是的,对于相同的种子和参数,您将在所有平台上获得相同的值序列。对于rand()
,没有。您也没有随机数分布的保证,即使它们被输入相同的输入值序列。