std:: srand
| 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 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Definiert in Header
<cstdlib>
|
||
|
void
srand
(
unsigned
seed
)
;
|
||
Initialisiert den Pseudozufallszahlengenerator, der von
std::rand()
verwendet wird, mit dem Wert
seed
.
Wenn
std::rand()
verwendet wird, bevor irgendwelche Aufrufe von
srand()
erfolgen,
verhält sich
std::rand()
so, als wäre es mit
srand
(
1
)
initialisiert worden.
Jedes Mal, wenn
std::rand()
mit demselben
seed
initialisiert wird, muss es dieselbe Wertefolge erzeugen.
srand()
ist nicht garantiert threadsicher.
Inhaltsverzeichnis |
Parameter
| seed | - | der Seed-Wert |
Rückgabewert
(keine)
Hinweise
Allgemein gesprochen sollte der Pseudozufallszahlengenerator nur einmal initialisiert werden, bevor irgendwelche Aufrufe von
rand()
erfolgen, und zwar zu Beginn des Programms.
Er sollte nicht wiederholt initialisiert oder jedes Mal neu initialisiert werden, wenn Sie eine neue Reihe von Pseudozufallszahlen generieren möchten.
Standardpraxis ist es, das Ergebnis eines Aufrufs von std:: time ( 0 ) als Seed zu verwenden. Allerdings gibt std::time einen std:: time_t -Wert zurück, und std:: time_t ist nicht garantiert ein integraler Typ. In der Praxis definiert jedoch jede bedeutende Implementierung std:: time_t als integralen Typ, und dies ist auch, was POSIX vorschreibt.
Beispiel
Mögliche Ausgabe:
Random value on [0, 2147483647]: 1373858591
Siehe auch
|
erzeugt eine Pseudo-Zufallszahl
(Funktion) |
|
|
maximaler möglicher Wert, erzeugt durch
std::rand
(Makrokonstante) |
|
|
initialisiert die pro-Thread-Zufallsengine neu
(Funktion) |
|
|
C-Dokumentation
für
srand
|
|