std::random_device
Aus cppreference.com
<tbody>
</tbody>
| definiert in Header <random>
|
||
class random_device; |
(seit C++11) | |
std::random_device ist ein Zufallszahlengenerator, der nicht-deterministische, gleichmig verteilte Zufallszahlen erzeugt, wenn eine nicht-deterministische Quelle (z. B. eine Hardwarevorrichtung) fr die Umsetzung verfgbar ist.
Mitgliedstypen
| Mitgliedstyp | Definition |
result_type
|
unsigned int
|
Member-Funktionen
Konstruktoren | |
| erzeugt den Generator (ffentliche Elementfunktion) | |
operator= (gelscht) |
der Zuweisungsoperator ist gelscht (ffentliche Elementfunktion) |
Generierung | |
| aktualisiert den Zustand des Generators und gibt den generierten Wert zurck (ffentliche Elementfunktion) | |
Merkmale | |
| gibt die geschtzte Entropie fr den nicht-deterministischen Zufallszahlengenerator (ffentliche Elementfunktion) | |
[statisch] |
gibt den kleinstmglichen Ergebniswert zurck (public static Elementfunktion) |
[statisch] |
gibt den grtmglichen Ergebniswert zurck (public static Elementfunktion) |
Beispiel
#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)];
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 : ********************