std::uniform_real_distribution<RealType>::uniform_real_distribution
来自cppreference.com
< cpp | numeric | random | uniform real distribution
uniform_real_distribution() : uniform_real_distribution(0.0) { } |
(1) | (C++11 起) |
explicit uniform_real_distribution( RealType a, RealType b = 1.0 ); |
(2) | (C++11 起) |
explicit uniform_real_distribution( const param_type& params ); |
(3) | (C++11 起) |
构造新的分布对象。
2) 以 a 和 b 为分布参数。
3) 以 params 为分布参数。
参数
a | - | a 分布参数(最小值) |
b | - | b 分布参数(最大值) |
params | - | 分布参数集 |
注解
要求 a ≤ b 且 b - a ≤ std::numeric_limits<RealType>::max()。
若 a == b,则后继调用 operator() 的不接受 param_type
对象的重载将导致未定义行为。
为创建闭区间 [a,b] 上的分布,可以 std::nextafter(b, std::numeric_limits<RealType>::max()) 为第二参数。
缺陷报告
下列更改行为的缺陷报告追溯地应用于以前出版的 C++ 标准。
缺陷报告 | 应用于 | 出版时的行为 | 正确行为 |
---|---|---|---|
P0935R0 | C++11 | 默认构造函数曾为 explicit | 使之为隐式 |