std::uniform_real_distribution<RealType>::uniform_real_distribution

来自cppreference.com
 
 
数值库
常用数学函数
数学特殊函数 (C++17)
数学常数 (C++20)
浮点环境 (C++11)
复数
数值数组
伪随机数生成
编译时有理数算术 (C++11)
数值算法
(C++17)
(C++17)
插值
(C++20)
(C++20)
通用数值运算
(C++11)
位操作
(C++20)
(C++20)
(C++20)
(C++20)
(C++20)
(C++20)
(C++20)
(C++20)
(C++20)
(C++20)
(C++20)
 
 
 
uniform_real_distribution() : uniform_real_distribution(0.0) { }
(1) (C++11 起)
explicit uniform_real_distribution( RealType a, RealType b = 1.0 );
(1) (C++11 起)
explicit uniform_real_distribution( const param_type& params );
(2) (C++11 起)

构造新的分布对象。第一版本以 ab 为分布参数,第二版本以 params 为分布参数。

[编辑] 参数

a - a 分布参数(最小值)
b - b 分布参数(最大值)
params - 分布参数集

[编辑] 注意

要求 a ≤ bb-a ≤ std::numeric_limits<RealType>::max()

a == b ,则后继调用 operator() 的不接受 param_type 对象的重载将导致未定义行为。

为创建闭区间 [a,b] 上的分布,可以 std::nextafter(b, std::numeric_limits<RealType>::max()) 为第二参数。

[编辑] 缺陷报告

下列更改行为的缺陷报告追溯地应用于以前出版的 C++ 标准。

DR 应用于 出版时的行为 正确行为
P0935R0 C++11 默认构造函数曾为 explicit 使之为隐式