C++随机数发生器

关于C++随机数发生器的疑惑

代码如下

#include <iostream>

#include <random>

int main() {

std::random_device rd;

std::mt19937 gen(rd());

std::uniform_int_distribution<> distribution(0,10);

std::cout<<distribution(gen);

return 0;

}

该代码编译生成程序之后在git自带的bash下执行可以正常生成随机数。但是在cmd和powershell下却每次得到的都是一样的数。
想请问一下各位大佬这是什么原因。

回答

mac命令行执行没问题,是不是命令终端跟g++编译器之间的问题
image.png

std::random_device

std::random_device 并不保证一定是“真”随机数。有些平台/编译器/库做不到真随机,只有伪随机,此时每次出来的就都是同一个序列了。

以上是 C++随机数发生器 的全部内容, 来源链接: utcz.com/a/43090.html

回到顶部