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++编译器之间的问题
std::random_device 并不保证一定是“真”随机数。有些平台/编译器/库做不到真随机,只有伪随机,此时每次出来的就都是同一个序列了。
以上是 C++随机数发生器 的全部内容, 来源链接: utcz.com/a/43090.html