c++ - 一个随机数生成器,可以在<一秒内得到不同的数字

标签 c++ random

我需要一个 C++(伪,我不在乎)随机数生成器,它可以在我每次调用该函数时得到不同的数字。这可能只是我播种的方式,也许有更好的方法,但我得到的每个随机生成器都不会在每次调用时生成一个新数字。有时我需要每秒获得几个随机数,而我插入的任何 RNG 往往会连续多次获得相同的数字。 当然,我知道为什么,因为它是按秒播种的,所以它每秒只生成一个新号码,但我需要以某种方式在每次调用时获得一个新号码。谁能指出我正确的方向?

最佳答案

听起来像你这样做:

int get_rand() {
    srand(time(0));
    return rand();
}

这可以解释为什么您会在一秒钟内得到相同的数字。但是你必须这样做:

int get_rand() {
    return rand();
}

并在程序启动时调用 srand 一次

关于c++ - 一个随机数生成器,可以在<一秒内得到不同的数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/418545/

相关文章:

mysql - ruby on Rails 中的随机 id

swift - 在 SpriteKit 中创建随机数

c++ - 如何将字符串从 Python3 传递给 cythonized C++ 函数

c++ - 在 free() 中 : error: junk pointer, 太高而无法理解段错误:11(核心已转储)gprof

android - 在游戏中获胜时随机播放音乐

c# - 自定义随机数生成器

jquery - 使用 jquery 随机淡入和淡出

c++ - 在线程 A 中创建 std::thread 对象,加入线程 B

c++ - 使用 qt Creator 和 eigen 库编译程序时出现 lnk2019 错误

c++ - 无法理解为什么 XCode 链接器看不到某些方法