📌  相关文章
📜  C++中的std :: uniform_int_distribution b()方法与示例(1)

📅  最后修改于: 2023-12-03 15:14:03.089000             🧑  作者: Mango

C++中的std::uniform_int_distribution b()方法与示例

在C++中,std::uniform_int_distribution类是一个随机数生成器,其定义在头文件中。它允许用户生成一个均匀分布的整数值,该值在指定的范围内。

std::uniform_int_distribution b() 方法及其语法

下面是 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() 方法生成随机数

下面是使用 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()方法的介绍及其使用示例。