GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
std::random_device(3) C++ Standard Libary std::random_device(3)

std::random_device - std::random_device


Defined in header <random>
class random_device; (since C++11)


std::random_device is a uniformly-distributed integer random number generator that
produces non-deterministic random numbers.


std::random_device may be implemented in terms of an implementation-defined
pseudo-random number engine if a non-deterministic source (e.g. a hardware device)
is not available to the implementation. In this case each std::random_device object
may generate the same number sequence.


Member type Definition
result_type unsigned int


constructor constructs the engine
(C++11) (public member function)
operator= the assignment operator is deleted
(deleted) (public member function)


operator() advances the engine's state and returns the generated value
(C++11) (public member function)


obtains the entropy estimate for the non-deterministic random
entropy number generator
(public member function)
min gets the smallest possible value in the output range
[static] (C++11) (public static member function)
max gets the largest possible value in the output range
[static] (C++11) (public static member function)


A notable implementation where std::random_device is deterministic is old versions
of MinGW (bug 338, fixed since GCC 9.2). The latest MinGW versions can be downloaded
from GCC with the MCF thread model.

// Run this code


#include <iostream>
#include <string>
#include <map>
#include <random>


int main()
{
std::random_device rd;
std::map<int, int> hist;
std::uniform_int_distribution<int> dist(0, 9);
for (int n = 0; n < 20000; ++n) {
++hist[dist(rd)]; // note: demo only: the performance of many
// implementations of random_device degrades sharply
// once the entropy pool is exhausted. For practical use
// random_device is generally only used to seed
// a PRNG such as mt19937
}
for (auto p : hist) {
std::cout << p.first << " : " << std::string(p.second/100, '*') << '\n';
}
}


0 : ********************
1 : *******************
2 : ********************
3 : ********************
4 : ********************
5 : *******************
6 : ********************
7 : ********************
8 : *******************
9 : ********************

2022.07.31 http://cppreference.com

Search for    or go to Top of page |  Section 3 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.