C++随机数发生器

发布于 2022-09-12 04:36:37 字数 399 浏览 20 评论 0

关于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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

溺ぐ爱和你が 2022-09-19 04:36:37

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

花想c 2022-09-19 04:36:37

std::random_device

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

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文