std::random_device
Aus cppreference.com
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.
Inhaltsverzeichnis |
[Bearbeiten] Mitgliedstypen
Mitgliedstyp | Definition |
result_type
|
unsigned int |
[Bearbeiten] 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) |
[Bearbeiten] 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 : ********************