📌  相关文章
📜  C++中的std :: uniform_int_distribution类(1)

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

C++中的std :: uniform_int_distribution类

C++中的std :: uniform_int_distribution类是一个实用类,用于生成指定范围内的均匀分布的随机整数。

用法示例

下面是一个示例,说明如何使用std :: uniform_int_distribution类来生成随机整数:

#include <iostream>
#include <random>

int main()
{
    std::random_device rd;
    std::mt19937 gen(rd());
    std::uniform_int_distribution<> dis(1, 10);

    for (int i = 0; i < 10; ++i) {
        std::cout << dis(gen) << ' ';
    }

    std::cout << '\n';
    return 0;
}

该程序使用std :: random_device类生成一个随机种子,然后使用该种子初始化一个std :: mt19937引擎。接着,我们声明一个std :: uniform_int_distribution对象来生成1到10之间的整数,并使用该引擎来生成实际的随机数。

方法

以下是std :: uniform_int_distribution类的方法:

构造函数
explicit uniform_int_distribution(IntType a = 0, IntType b = std::numeric_limits<IntType>::max());
  • a:要生成的整数范围中的最小值。
  • b:要生成的整数范围中的最大值。
生成方法
result_type operator()(Generator& g);
result_type operator()(Generator& g, const param_type& params);
  • g:引擎对象的引用,用于生成随机数。
  • params:uniform_int_distribution对象的参数。
参数和返回值

以下是std :: uniform_int_distribution类的参数和返回值:

参数
  • IntType:要生成的整数的数据类型。
  • result_type:要生成的随机数的数据类型。
  • min:要生成的整数范围中的最小值。
  • max:要生成的整数范围中的最大值。
  • Generator:引擎对象的类型。
  • param_type:uniform_int_distribution对象的参数类型。
返回值
  • result_type:生成的随机整数。