C++11 中的随机数
default_random_engine:随机非负数(不建议单独使用);
uniform_int_distribution:指定范围的随机非负数;
uniform_real_distribution:指定范围的随机实数;
bernoulli_distribution:指定概率的随机布尔值。
#include <random>
using std::default_random_engine;
using std::uniform_int_distribution;
using std::uniform_real_distribution;
using std::bernoulli_distribution;
用法: 使用default_random_engine返回一个种子,用这个种子随机化后三个随机数生成器
//default_random_engine 是一个随机数引擎类。它定义的调用运算符返回一个
//随机的unsigned 类型的值。
default_random_engine e;
//uniform_int_distribution是一个随机数分布类,也是个模板类,模板参数
//为生成随机数的类型(不过只能是 int、unsigned、short、unsigned short、
//long、unsigned long、long long、unsigned long long 中的一种)。它的
//构造函数接受两个值,表示随机数的分布范围(闭区间)。
uniform_int_distribution<unsigned> u(0, 9);
ret = u(e);
//uniform_real_distribution 是一个随机数分布类,它也是模板类,参数表
//示随机数类型(可选类型为 float、double、long double)。构造函数也需
//要最大值和最小值作为参数。
uniform_real_distribution<double> u(0.0, 1.0);
//bernoulli_distribution 是一个分布类,但它不是模板类。它的构造函数
//只有一个参数,表示该类返回 true 的概率,该参数默认为 0.5 ,即
//返回 true 和 false 的概率相等。
bernoulli_distribution u;
参考 https://cplusplus.com/reference/random/