我需要一种'好'的方法来初始化C++中的伪随机数生成器.我发现一篇文章指出:
为了生成类似随机数的数字,srand通常被初始化为一些独特的值,就像那些与执行时间相关的值.例如,函数时间返回的值(在标题ctime中声明)每秒都不同,这对于大多数随机需求来说足够独特.
Unixtime对我的应用来说并不是很有特色.有什么更好的方法来初始化它?奖励点是否可移植,但代码主要在Linux主机上运行.
我正在考虑做一些pid/unixtime数学来得到一个int,或者可能从中读取数据/dev/urandom.
谢谢!
编辑
是的,我实际上是每秒多次启动我的应用程序而且我遇到了碰撞.
我想了解如何实现rand()和srand()函数,并希望调整代码以将其修改为我的要求.我在哪里可以找到rand()和srand()的源代码.