我需要一个 C++(伪,我不在乎)随机数生成器,它可以在我每次调用该函数时得到不同的数字。这可能只是我播种的方式,也许有更好的方法,但我得到的每个随机生成器都不会在每次调用时生成一个新数字。有时我需要每秒获得几个随机数,而我插入的任何 RNG 往往会连续多次获得相同的数字。 当然,我知道为什么,因为它是按秒播种的,所以它每秒只生成一个新号码,但我需要以某种方式在每次调用时获得一个新号码。谁能指出我正确的方向?
最佳答案
听起来像你这样做:
int get_rand() {
srand(time(0));
return rand();
}
这可以解释为什么您会在一秒钟内得到相同的数字。但是你必须这样做:
int get_rand() {
return rand();
}
并在程序启动时调用 srand 一次。
关于c++ - 一个随机数生成器,可以在<一秒内得到不同的数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/418545/