ahm*_*md0 11 c++ windows random random-seed
标题几乎说明了.
PS.这适用于C++ Windows程序.
dre*_*lax 15
根据MSDN文档srand()
(假设您使用的是Microsoft的C运行时库),种子是线程本地的,因此您需要调用srand()
正在使用的每个线程rand()
.注意,在其他实现中可能不是这种情况.
引自MSDN:
srand函数设置在当前线程中生成一系列伪随机整数的起点.
即使答案不是特定于平台,我建议你避免srand()
使用<random>
.C++ 11 <random>
库不仅在多线程程序中提供了清晰的语义,而且还为随机数生成提供了更好的工具.它提供了几种不同的随机数发生器,以满足不同的质量,速度和尺寸要求,以及许多标准发行版,因此您不会犯下人们在使用时经常犯的错误rand
.