std::srand
| Definiert in Header <cstdlib> |
||
| void srand( unsigned seed ); |
||
Initialisiert den Pseudozufallszahlengenerator, der von std::rand() verwendet wird, mit dem Wert seed.
Wenn std::rand() vor einem Aufruf von srand() verwendet wird, 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 Sequenz von Werten erzeugen.
srand() ist nicht garantiert threadsicher.
Inhalt |
[bearbeiten] Parameter
| seed | - | der Seed-Wert |
[bearbeiten] Rückgabewert
(keine)
[bearbeiten] Hinweise
Generell sollte der Pseudozufallszahlengenerator nur einmal zu Beginn des Programms, vor allen Aufrufen von rand(), initialisiert werden. Er sollte nicht wiederholt initialisiert oder jedes Mal neu initialisiert werden, wenn Sie einen neuen Satz von Pseudozufallszahlen erzeugen möchten.
Standardmäßig wird das Ergebnis eines Aufrufs von std::time(0) als Seed verwendet. Allerdings gibt std::time einen std::time_t-Wert zurück, und es ist nicht garantiert, dass std::time_t ein ganzzahliger Typ ist. In der Praxis definieren jedoch alle größeren Implementierungen std::time_t als ganzzahligen Typ, und dies ist auch das, was POSIX verlangt.
[bearbeiten] Beispiel
Mögliche Ausgabe
Random value on [0, 2147483647]: 1373858591
[bearbeiten] Siehe auch
| generiert eine Pseudozufallszahl (Funktion) | |
| maximal möglicher Wert, der von std::rand generiert wird (Makrokonstante) | |
| Setzt die pro-Thread-Zufalls-Engine zurück. (Funktion) | |
| C-Dokumentation für srand
| |