小编Zer*_*ang的帖子

为什么这个随机数生成器生成相同的数字?

第一个起作用,但是第二个总是返回相同的值。为什么会发生这种情况,我应该如何解决呢?

int main() {
    std::random_device rd;
    std::mt19937 gen(rd());
    std::uniform_real_distribution<> dis(0, 1);

    for(int i = 0; i < 10; i++) {

        std::cout << dis(gen) << std::endl;
    }return 0;
}
Run Code Online (Sandbox Code Playgroud)

一个不起作用:

double generateRandomNumber() {
    std::random_device rd;
    std::mt19937 gen(rd());
    std::uniform_real_distribution<> dis(0, 1);

    return dis(gen);
}



int main() {
    for(int i = 0; i < 10; i++) {
        std::cout << generateRandomNumber() << std::endl;
    }return 0;
}
Run Code Online (Sandbox Code Playgroud)

c++ random

2
推荐指数
1
解决办法
585
查看次数

标签 统计

c++ ×1

random ×1