std::random_device
From cppreference.com
Defined in header <random>
|
||
class random_device; |
(since C++11) | |
std::random_device is a uniformly-distributed integer random number generator, which produces non-deterministic random numbers, if a non-deterministic source (e.g. a hardware device) is available to the implementation.
Contents |
[edit] Member types
Member type | Definition |
result_type | unsigned int |
[edit] Member functions
Construction | |
constructs the engine (public member function) | |
operator= (deleted) |
the assignment operator is deleted (public member function) |
Generation | |
advances the engine's state and returns the generated value (public member function) | |
Characteristics | |
obtains the entropy estimate for the non-deterministic random number generator (public member function) | |
[static] |
gets the smallest possible value in the output range (public static member function) |
[static] |
gets the largest possible value in the output range (public static member function) |
[edit] Example
#include <iostream> #include <string> #include <map> #include <random> int main() { std::random_device rd; std::map<int, int> hist; for(int n=0; n<20000; ++n) ++hist[rd()%10]; for(auto p : hist) std::cout << p.first << " : " << std::string(p.second/100, '*') << '\n'; }
Output:
0 : ******************** 1 : ******************* 2 : ******************** 3 : ******************** 4 : ******************** 5 : ******************* 6 : ******************** 7 : ******************** 8 : ******************* 9 : ********************