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下却每次得到的都是一样的数。
想请问一下各位大佬这是什么原因。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
mac命令行执行没问题,是不是命令终端跟g++编译器之间的问题
std::random_device
std::random_device 并不保证一定是“真”随机数。有些平台/编译器/库做不到真随机,只有伪随机,此时每次出来的就都是同一个序列了。