std::discrete_distribution<IntType>::discrete_distribution
来自cppreference.com
| |
(1) | (C++11 起) |
| |
(2) | (C++11 起) |
| |
(3) | (C++11 起) |
| |
(4) | (C++11 起) |
| |
(5) | (C++11 起) |
构造新的分布对象。
1) 默认构造函数。构造拥有单个权重 p = {1} 的分布。此分布始终生成
0。2) 构造拥有范围
[first, last) 中权重的分布。若 first == last,则效果同默认构造函数。3) 构造拥有
weights 中权重的分布。相当于调用 discrete_distribution(weights.begin(), weights.end())。4) 构造拥有以函数
and i ∈ {0, ..., count − 1}。
unary_op 生成的 count 个权重的分布。每个权重等于 wi = unary_op(xmin + δ(i + 0.5)),其中 δ = | (xmax − xmin) |
| count |
xmin 与 xmax 必须使得 δ > 0。若 count == 0,则效果同默认构造函数。5) 以
params 为分布参数构造分布。参数
| first, last | - | 定义用作权重的数的元素范围。 InputIterator 所指的元素类型必须可转换为 double
|
| weights | - | 含各权重的 initializer_list |
| unary_op | - | 将要应用的一元算符函数。 函数签名应等价于如下者:
签名不必有 |
| params | - | 分布参数集 |
| 类型要求 | ||
-InputIt 必须满足老式输入迭代器 (LegacyInputIterator) 。
| ||