c++ - 生成没有srand的随机数

标签 c++ random

我需要用 srand 生成一个随机数。我用过:

std::default_random_engine generator;
std::uniform_int_distribution<int> distribution(1,6);
int dice_roll = distribution(generator);  // generates number in the range 1..6 

但它一直生成相同的数字。

最佳答案

使用随机设备从运行时(从操作系统)获取随机初始化

std::random_device rand_dev;
std::default_random_engine generator(rand_dev());

请注意,您也可以选择自己的种子:

std::default_random_engine generator(3752);

关于c++ - 生成没有srand的随机数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33970869/

相关文章:

ios - 如何通过自定义数字创建随机选择器?

python - 如何从一个大文件中随机删除多行?

java - neo4j 中的随机后序遍历

c++ - 强制显示系统托盘通知气球

c++ - 如何禁用缩小转换警告?

c++ - 在包含 shared_ptr 的 map 上使用 find_if 会增加引用计数

python - 如何在大型数组中更快地生成随机点?

C++:将成员变量的引用/指针作为模板参数

c++ - 处理文件和图像加载异常的最佳方式是什么?

c - 不使用种子C编程的随机数