# std::uniform_real_distribution<RealType>::uniform_real_distribution

From cppreference.com
< cpp‎ | numeric‎ | random‎ | uniform real distribution

uniform_real_distribution() : uniform_real_distribution(0.0) { } | (1) | (since C++11)
explicit uniform_real_distribution( RealType a, RealType b = 1.0 ); | (1) | (since C++11)
explicit uniform_real_distribution( const param_type& params ); | (2) | (since C++11)

Constructs a new distribution object. (2) uses `a` and `b` as the distribution parameters, (3) uses `params` as the distribution parameters.

### Parameters

a | - | the a distribution parameter (minimum value)
b | - | the b distribution parameter (maximum value)
params | - | the distribution parameter set

### Notes

Requires that a ≤ b and b-a ≤ std::numeric_limits<RealType>::max()

If `a == b`, subsequent calls to the `operator()` overload that does not accept a `param_type` object will cause undefined behavior.

To create a distribution over the closed interval [a,b], std::nextafter(b, std::numeric_limits<RealType>::max()) may be used as the second parameter.

### Defect reports

The following behavior-changing defect reports were applied retroactively to previously published C++ standards.

DR | Applied to | Behavior as published | Correct behavior
--- | --- | --- | ---
P0935R0 | C++11 | default constructor was explicit | made implicit

Retrieved from "https://en.cppreference.com/mwiki/index.php?title=cpp/numeric/random/uniform_real_distribution/uniform_real_distribution&oldid=102751"