📅  最后修改于: 2023-12-03 14:59:37.114000             🧑  作者: Mango
在C++11及以上版本中,标准库提供了一个非常有用的随机数分布类:std::uniform_int_distribution,用于生成指定范围内的随机整数。
使用std::uniform_int_distribution类需要包含
#include <random>
std::default_random_engine generator; // 随机数引擎
然后创建一个std::uniform_int_distribution对象,并调用其operator()方法即可生成随机整数:
std::uniform_int_distribution<int> distribution(1, 6); // 随机整数分布,范围1~6
int rand_num = distribution(generator); // 生成随机整数
上面的代码生成了1到6之间的随机整数。
std::uniform_int_distribution类有两个模板参数:整数类型和参数类型,其中参数类型默认为整数类型,一般情况下只需要指定整数类型即可。
构造函数接受两个参数,表示随机整数的范围:起始值和终止值。例如:std::uniform_int_distribution
下面是一个完整的随机数生成示例代码,它将生成指定范围内的10个随机整数并输出:
#include <iostream>
#include <random>
int main()
{
std::default_random_engine generator;
std::uniform_int_distribution<int> distribution(1, 6);
for (int i = 0; i < 10; i++) {
int rand_num = distribution(generator);
std::cout << rand_num << " ";
}
std::cout << std::endl;
return 0;
}
输出结果可能为:6 1 6 2 2 2 6 4 6 4