📅  最后修改于: 2023-12-03 15:14:03.089000             🧑  作者: Mango
在C++中,std::uniform_int_distribution类是一个随机数生成器,其定义在
下面是 std::uniform_int_distribution b() 方法的语法:
template<typename IntType = int>
class uniform_int_distribution;
std::uniform_int_distribution<IntType> b(IntType a=0, IntType b=std::numeric_limits<typename std::uniform_int_distribution<IntType>::result_type>::max());
此方法返回一个 std::uniform_int_distribution 对象,该对象是从 a 到 b 的范围内选择的随机整数的生成器。
下面是使用 std::uniform_int_distribution b() 方法生成随机整数的示例代码:
#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) {
std::cout << distribution(generator) << std::endl;
}
return 0;
}
上面的代码使用 std::default_random_engine 作为随机数生成器,并使用 std::uniform_int_distribution 定义了一个随机数分布。然后在循环中使用 distribution(generator) 生成随机数并输出。此示例将输出从1到6之间的10个随机整数。
在上面的示例中,std::uniform_int_distribution 类型的变量 distribution 只是一个分布对象。其实,std::uniform_int_distribution 类型的变量作为函数时,通过调用变量名,可以生成均匀分布的随机数。
以上是std::uniform_int_distribution b()方法的介绍及其使用示例。