我想使用<random>
在我的C ++应用程序中使用多个RNG。播种它们的最佳方法是什么?我担心当使用来自单个RNG的随机数为每个RNG播种时,来自不同RNG的随机数将相关得太多。
答案 0 :(得分:0)
如果您担心这一点,我建议使用random_device
为所有RNG播种。 random_device
的输出接近真实的随机性,实际上可以得到。
(我认为这是有争议的,但它是最好的标准库将以跨平台的方式为您提供。可能更可靠的随机替代方案是从www.random.org或其他东西中提取种子。)
http://www.cplusplus.com/reference/random/random_device/
仅在C ++ 11中,如果您使用的是早期标准,则可以使用boost::random_device
代替。