📌  相关文章
📜  C++中的std :: uniform_real_分发类,包含示例(1)

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

C++中的std::uniform_real_分发类

在C++标准库中,我们可以使用std::uniform_real_分发类来生成一个均匀分布的随机实数。

介绍

std::uniform_real_是一个分发类,用于生成在指定范围内的均匀分布的随机实数。它是C++标准库<random>头文件中的一部分,可以帮助程序员生成均匀分布的随机数,作为统计分析、模拟等领域的基础。

std::uniform_real_分发类需要指定生成随机数的范围,包括最小值和最大值,返回的随机数将在这个范围内均匀分布。

使用示例

下面是一个使用std::uniform_real_分发类生成均匀分布随机实数的示例代码:

#include <iostream>
#include <random>

int main() {
    // 创建一个随机数引擎
    std::random_device rd;
    std::mt19937 gen(rd());

    // 创建一个分发类对象,指定范围为[0.0, 1.0)
    std::uniform_real_distribution<> dis(0.0, 1.0);

    // 生成随机实数并输出
    for (int i = 0; i < 5; ++i) {
        double random_num = dis(gen);
        std::cout << random_num << std::endl;
    }

    return 0;
}

在这个示例中,我们首先创建了一个随机数引擎gen,并以随机设备rd为种子初始化。然后,我们创建一个分发类对象dis,指定要生成的随机数范围为[0.0, 1.0)。最后,通过调用dis(gen)来生成随机实数,并将结果输出到标准输出。

结论

std::uniform_real_分发类提供了一种方便的方法来生成指定范围内的均匀分布的随机实数。它是C++标准库中用于随机数生成的重要工具之一,请在需要生成均匀分布随机实数的场景下加以应用。