std:: seed_seq
| Common mathematical functions | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Mathematical special functions (C++17) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Mathematical constants (C++20) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Basic linear algebra algorithms (C++26) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Data-parallel types (SIMD) (C++26) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Floating-point environment (C++11) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Complex numbers | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Numeric array (
valarray
)
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Pseudo-random number generation | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Bit manipulation (C++20) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Saturation arithmetic (C++26) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Factor operations | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Interpolations | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Generic numeric operations | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| C-style checked integer arithmetic | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Member functions | ||||
|
Definiert im Header
<random>
|
||
|
class
seed_seq
;
|
(seit C++11) | |
std::seed_seq
verarbeitet eine Sequenz von ganzzahligen Daten und erzeugt eine angeforderte Anzahl von 32-Bit-Ganzzahlen ohne Vorzeichen, basierend auf den verarbeiteten Daten. Die erzeugten Werte sind über den gesamten 32-Bit-Bereich verteilt, selbst wenn die verarbeiteten Werte nahe beieinander liegen.
Es bietet eine Möglichkeit, eine große Anzahl von Zufallszahlengeneratoren zu initialisieren oder einen Generator zu initialisieren, der viel Entropie benötigt, mit einem kleinen Seed oder einer schlecht verteilten anfänglichen Seed-Sequenz.
std::seed_seq
erfüllt die Anforderungen eines
SeedSequence
.
Inhaltsverzeichnis |
Verschachtelte Typen
| Typ | Definition |
result_type
|
std::uint_least32_t |
Datenmitglieder
| Mitglied | Beschreibung |
std::
vector
<
result_type
>
v
|
Die zugrundeliegende Seed-Sequenz
( Nur zur Veranschaulichung (exposition-only member object*) ) |
Memberfunktionen
konstruiert und initialisiert das
std::seed_seq
Objekt
(öffentliche Elementfunktion) |
|
|
operator=
[deleted]
|
std::seed_seq
ist nicht zuweisbar
(öffentliche Elementfunktion) |
|
berechnet die bias-eliminierten, gleichmäßig verteilten 32-Bit-Werte
(öffentliche Elementfunktion) |
|
|
ermittelt die Anzahl der gespeicherten 32-Bit-Werte
(öffentliche Elementfunktion) |
|
|
kopiert alle gespeicherten 32-Bit-Werte
(öffentliche Elementfunktion) |
Beispiel
#include <cstdint> #include <iostream> #include <random> int main() { std::seed_seq seq{1, 2, 3, 4, 5}; std::vector<std::uint32_t> seeds(10); seq.generate(seeds.begin(), seeds.end()); for (std::uint32_t n : seeds) std::cout << n << '\n'; }
Mögliche Ausgabe:
4204997637 4246533866 1856049002 1129615051 690460811 1075771511 46783058 3904109078 1534123438 1495905678