Nic*_*las 18
你如何定义"便携式"?
如果通过"便携式",你的意思是"将在给定相同输入的情况下产生二进制相同的随机数序列",那么是,rand不可移植.是的,C++随机生成器是可移植的(大多数是.std::default_random_engine或者不是std::random_device),因为它们实现了特定的算法.rand允许是任何东西,只要它不是一个随机数发生器.
话虽如此,正如@PeteBecker指出的那样,分布本身并没有那么明确.因此,虽然std::mt19937将为给定种子生成相同的值序列,但是不同的std::uniform_int_distributions可以为相同的输入序列和范围给出不同的值.
当然,如果您需要一致性,您可以随时定义自己的分布.