我在 Qt Creator 1.0.0(Qt 版本 4.5.0)中编写了一个程序,在 main() 函数的开头放置了
srand(time(0));
然后我从另一个线程(QThread 的子类)调用 rand()。在该函数中,每次我运行程序时,rand() 都会生成相同的数字序列。我不会在一秒钟内多次运行该程序。
为什么会这样?
最佳答案
您需要在每个线程中调用 srand,因为种子存储在线程特定的 block 中。
关于c++ - rand() 不遵守 Qt Creator 中的 srand(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1316439/