J'ai besoin d'une "bonne" façon d'initialiser le générateur de nombres pseudo-aléatoires en C++. J'ai trouvé un article qui déclare :
Afin de générer des nombres de type aléatoire srand est généralement initialisé à une certaine valeur distinctive, comme celles liées au temps d'exécution. Pour exemple, la valeur renvoyée par la fonction fonction time (déclarée dans l'en-tête ctime) est différente à chaque seconde, ce qui est suffisamment distincte pour la plupart besoins aléatoires.
Unixtime n'est pas assez distinctif pour mon application. Quelle est la meilleure façon de l'initialiser ? Les points bonus si c'est portable, mais le code sera principalement exécuté sur des hôtes Linux.
Je pensais faire des calculs de pid/unixtime pour obtenir un int, ou éventuellement lire les données à partir de /dev/urandom
.
Merci !
EDIT
Oui, je lance mon application plusieurs fois par seconde et j'ai rencontré des collisions.