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, gleichmäßig verteilte Zufallszahlen erzeugt, wenn eine nicht-deterministische Quelle (z. B. eine Hardwarevorrichtung) für die Umsetzung verfügbar ist.
Mitgliedstypen
| Mitgliedstyp | Definition |
result_type
|
unsigned int
|
Member-Funktionen
Konstruktoren | |
| erzeugt den Generator (öffentliche Elementfunktion) | |
operator= (gelöscht) |
der Zuweisungsoperator ist gelöscht (öffentliche Elementfunktion) |
Generierung | |
| aktualisiert den Zustand des Generators und gibt den generierten Wert zurück (öffentliche Elementfunktion) | |
Merkmale | |
| gibt die geschätzte Entropie für den nicht-deterministischen Zufallszahlengenerator (öffentliche Elementfunktion) | |
[statisch] |
gibt den kleinstmöglichen Ergebniswert zurück (public static Elementfunktion) |
[statisch] |
gibt den größtmöglichen Ergebniswert zurück (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 : ********************