我正在使用seed
和类似 srand()
的功能或random()
仅从 0 to 5
生成数字但我需要一种更简单的方法,也可以轻松找到seed
通过馈送阵列。请推荐一个
最佳答案
下面是一个简单的示例,它生成 10 个均匀分布的随机数,范围在 -42 到 42 之间:
#include <iostream>
#include <functional>
#include <random>
int main()
{
std::random_device seed_device;
std::mt19937 engine(seed_device());
std::uniform_int_distribution<int> distribution(-42, 42);
auto rnd = std::bind(distribution, std::ref(engine));
for (int i = 0; i < 10; ++i) {
std::cout << "random number: " << rnd() << "\n";
}
return 0;
}
另请参阅:
关于c++ - 如何生成伪随机数容易地?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45196073/