【发布时间】:2019-05-15 07:58:10
【问题描述】:
我的任务是在 C++ 中生成数万个随机数。我在 C++ 中搜索了很多关于随机数的信息并查找了 C++ 参考资料,但现在我很困惑。
据我所知,random_device 是一个非确定性的随机数生成器,但是每次我重新运行我的程序时,random_device 生成的随机数都是一样的。那么如何给random_device设置一个种子,让程序重启时随机数不一样呢?
而且我读到“如果您尝试从中获取大量数字,std::random_device 可能会耗尽熵。这可能会导致它阻塞,直到您移动鼠标或其他东西”。这意味着我的程序可能会在某个时间暂停。我怎样才能避免这种情况发生?
【问题讨论】:
-
你用的是什么编译器?
std::random_device在MinGW中损坏。 -
我在ubuntu下使用的是GNU或者g++。
-
你能发布一些重现问题的简短示例代码吗?
-
我认为这个答案可能会回答你的一些问题:stackoverflow.com/questions/50662280/…
-
为什么每次运行的程序都需要不同的设置?
标签: c++ random random-seed