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 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Défini dans l'en-tête
<cstdlib>
|
||
|
void
srand
(
unsigned
seed
)
;
|
||
Initialise le générateur de nombres pseudo-aléatoires utilisé par
std::rand()
avec la valeur
seed
.
Si
std::rand()
est utilisé avant tout appel à
srand()
,
std::rand()
se comporte comme s'il était initialisé avec
srand
(
1
)
.
Chaque fois que
std::rand()
est initialisé avec la même
seed
, il doit produire la même séquence de valeurs.
srand()
n'est pas garanti d'être thread-safe.
Table des matières |
Paramètres
| seed | - | la valeur de départ |
Valeur de retour
(aucun)
Notes
D'une manière générale, le générateur de nombres pseudo-aléatoires ne doit être initialisé qu'une seule fois, avant tout appel à
rand()
, au début du programme.
Il ne doit pas être initialisé à plusieurs reprises, ou réinitialisé chaque fois que vous souhaitez générer un nouveau lot de nombres pseudo-aléatoires.
La pratique standard consiste à utiliser le résultat d'un appel à std:: time ( 0 ) comme graine. Cependant, std::time retourne une valeur std:: time_t , et std:: time_t n'est pas garanti d'être un type intégral. En pratique cependant, toutes les implémentations majeures définissent std:: time_t comme un type intégral, ce qui est également requis par POSIX.
Exemple
Sortie possible :
Valeur aléatoire sur [0, 2147483647]: 1373858591
Voir aussi
|
génère un nombre pseudo-aléatoire
(fonction) |
|
|
valeur maximale possible générée par
std::rand
(constante macro) |
|
|
réinitialise le moteur aléatoire par thread
(fonction) |
|
|
documentation C
pour
srand
|
|