public member function
<random>

std::uniform_real_distribution::(constructor)

(1)
explicit uniform_real_distribution ( result_type a = 0.0, result_type b = 1.0 );
(2)
explicit uniform_real_distribution ( const param_type& parm );
Construct uniform real distribution
Constructs a uniform_real_distribution object, adopting the distribution parameters specified either by a and b or by object parm.

Parameters

a, b
Upper and lower bounds of the range ([a,b)) of possible values the distribution can generate.
Note that the range includes a but not b.
b shall be greater than or equal to a (a<=b).
result_type is a member type that represents the type of the random numbers generated on each call to operator(). It is defined as an alias of the first class template parameter (RealType).
parm
An object representing the distribution's parameters, obtained by a call to member function param.
param_type is a member type.

Example

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
// uniform_real_distribution example
#include <iostream>
#include <chrono>
#include <random>

int main()
{
  // construct a trivial random generator engine from a time-based seed:
  unsigned seed = std::chrono::system_clock::now().time_since_epoch().count();
  std::default_random_engine generator (seed);

  std::uniform_real_distribution<double> distribution (0.0,1.0);

  std::cout << "some random numbers between 0.0 and 1.0: " << std::endl;
  for (int i=0; i<10; ++i)
    std::cout << distribution(generator) << std::endl;

  return 0;
}


Possible output:
some random numbers between 0.0 and 1.0:
0.423157
0.653959
0.26444
0.280517
0.884283
0.915755
0.419503
0.353592
0.0285182
0.15477

Complexity

Constant.

See also