Namespaces
Variants
Views
Actions

Difference between revisions of "cpp/numeric/random/random device"

From cppreference.com
< cpp‎ | numeric‎ | random
m (Text replace - "{{tdcl" to "{{dcl")
m (Text replace - "/sidebar" to "/navbar")
Line 1: Line 1:
 
{{cpp/title|random_device}}
 
{{cpp/title|random_device}}
{{cpp/numeric/random/random_device/sidebar}}
+
{{cpp/numeric/random/random_device/navbar}}
 
{{ddcl | header=random | notes={{mark since c++11}} | 1=
 
{{ddcl | header=random | notes={{mark since c++11}} | 1=
 
class random_device;
 
class random_device;

Revision as of 13:55, 15 June 2012

 
 
 
 
 
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

Member types

Member type Definition
result_type unsigned int

Member functions

Template:cpp/numeric/random/engine/dcl list constructorTemplate:cpp/numeric/random/engine/dcl list operator()Template:cpp/numeric/random/random device/dcl list entropyTemplate:cpp/numeric/random/engine/dcl list minTemplate:cpp/numeric/random/engine/dcl list max
Construction
operator=
(deleted)
the assignment operator is deleted
(public member function)
Generation
Characteristics

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 : ********************