Pourquoi puis-je obtenir la même séquence de std :: random_device avec Mingw GCC 4.8.1?
Dans le code fourni, une instance de STD :: Random_device (RD) est utilisée comme la graine pour un MERSENNE TWISTER (MT). Cependant, le comportement observé de l'obtention de la même séquence de nombres aléatoires à chaque exécution suggère que le RD peut ne pas fournir une graine vraiment aléatoire.
Selon la documentation (http://en.cppreference.com/w/cpp/numeric/random/random_device), STD :: random_device est conçue pour accéder à des sources non-standistes pour les sources de hasard. Cependant, si une telle source n'est pas disponible, la mise en œuvre peut recourir à un moteur de numéro pseudo-aléatoire. Cela pourrait expliquer le comportement déterministe observé avec Mingw GCC 4.8.1.
Il est important de noter que Random_device n'est pas garanti pour fournir un véritable aléatoire. Certaines implémentations, comme celle de Mingw GCC 4.8.1, peuvent délibérément fournir une séquence fixe pour démontrer la non-ponts du flux.
pour obtenir une sortie différente pour chaque exécution, il faut considérer des méthodes alternatives de semence du générateur de nombres aléatoires, telles que l'utilisation d'une graine basée sur la durée actuelle ou un hachage cryptographique d'une entrée utilisateur.
]Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3