在一个程序中初始化多个环
Initialize multiple rngs in a single program
我想在使用<random>
的c++应用程序中使用多个rng。播种的最好方法是什么?我担心,当用单个RNG的随机数播种每个RNG时,来自不同RNG的随机数会过于相关。
如果这是你关心的,我建议使用random_device
来播种所有的rng。random_device
的输出接近真正的随机性,因为你实际上可以得到。
(好吧,我想这是有争议的,但这是标准库以跨平台的方式能给你的最好的。一个可能更可靠的随机选择是从www.random.org或其他地方提取种子。
http://www.cplusplus.com/reference/random/random_device/这只是在c++ 11中,如果你使用的是更早的标准,你可以使用boost::random_device
代替。
相关文章:
- 指定的初始化程序
- 错误:为函数__THROW__asm提供了初始化程序
- C++引物动态数组初始化程序的数目超过大小
- 在C++初始化程序列表中使用Integer Literals
- 当指定初始化程序的顺序和字段声明不一致时,clang可以删除函数调用
- 模板非静态数据成员初始化程序何时实例化
- C++-数组的初始化程序太多
- 类的头文件中的C++初始化程序列表
- std::array不再发生初始化程序语法错误
- C++初始化程序上的Cortex M4硬故障
- 初始化程序列表
- 添加大数字C++-初始化程序失败
- 避免对自定义类使用初始化程序列表
- rvalue作为初始化程序来构造对象
- 数组的初始化程序太多错误
- 自定义矢量类模板初始化程序失败
- 初始化程序列表和赋值重载(运算符=)
- 引用包装的初始化程序列表
- 结构:初始化程序出错
- c++初始化程序列表