std::uniform_int_distribution
From Cppreference
Defined in header <random>
|
||
template< class IntType = int >
class uniform_int_distribution; |
(C++11 feature) | |
Uniform random number distribution produces random integers i, uniformly distributed on the closed interval [a, b], that is, distributed according to the discrete probability function P(i|a,b) = 1/(b − a + 1).
Contents |
[edit] Member types
Member type | Definition |
result_type | the type of the result of operator(), equal to IntType |
param_type | the type of the parameter set, unspecified |
[edit] Member functions
|
constructs new distribution (public member function) |
|
|
resets the distribution state (no-op for uniform_int_distribution) (public member function) |
|
|
generates a new random number (public member function) |
|
|
returns the first parameter of the uniform_int_distribution parameter set (public member function) |
|
|
returns the second parameter of the uniform_int_distribution parameter set (public member function) |
|
|
get/set the parameter set (public member function) |
|
|
returns the inclusive lower bound of the distribution range (public member function) |
|
|
returns the inclusive upper bound of the distribution range (public member function) |
[edit] Non-member functions
|
compares two distributions (function template) |
|
|
serializes/deserializes the distribution's parameter set (function template) |
[edit] Example
This program simulates throwing 6-sided dice.
#include <random> #include <iostream> int main() { std::random_device rd; std::mt19937 gen(rd()); std::uniform_int_distribution<> dis(1, 6); for(int n=0; n<10; ++n) std::cout << dis(gen) << ' '; std::cout << '\n'; }
Output:
1 1 6 5 2 2 5 5 6 2