一、说明
Boost.Random 库提供了许多随机数生成器,可让您决定应如何生成随机数。在 C++ 中,始终可以使用来自 cstdlib 的 std::rand() 生成随机数。但是,使用 std::rand() 生成随机数的方式取决于标准库的实现方式。
当包含头文件 boost/random.hpp 时,您可以使用 Boost.Random 中的所有随机数生成器和其他类和函数。
该库的大部分已添加到 C++11 的标准库中。如果您的开发环境支持 C++11,您可以通过包含头文件 random 并访问命名空间 std 来重写本章中的 Boost.Random 示例。
二、示例代码
示例 60.1。带有 boost::random::mt19937 的伪随机数
#include <boost/random.hpp>
#include <iostream>
#include <ctime>
#include <cstdint>
int main()
{
std::time_t now = std::time(0);
boost::random::mt19937 gen{static_cast<std::uint3