我学习的方法是初始播种随机数生成器,srand(time(NULL))
然后使用调用rand()
生成随机数.这种方法的问题是如果我在同一秒内多次运行我的程序,生成的随机数将始终相同.这有什么好办法?
除了使用时间之外,另一种常见的 rand 函数种子方法是使用程序的进程 ID,因为它保证是唯一的。
实际的代码是依赖于平台的,但如果你在 Windows 上,我相信你可以使用该函数GetCurrentProcessId()
,如下所示
srand(GetCurrentProcessId());
Run Code Online (Sandbox Code Playgroud)