Oui, mais vous avez besoin d'un autre ou, pour parler exactement, le même PRNG sur chaque plate-forme. std::default_random_engine engine
est une mise en œuvre définies PRNG. Cela signifie que vous ne pouvez pas obtenir le même PRNG sur chaque plate-forme. Si vous n'avez pas le même alors vos chances d'obtenir la même séquence est assez faible.
Ce que vous avez besoin est quelque chose comme std::mt19937
ce qui est nécessaire pour donner le même résultat pour la même graine. En fait, tous les générateurs définis en <random>
en plus d' std::default_random_engine engine
produira le même résultat lors de l'utilisation de la même graine.
L'autre chose que vous devez savoir, c'est qu' std::uniform_int_distribution
est également définie par l'implémentation. La formule à utiliser est défini, mais la manière qu'il réalise que c'est laissé à l'implémenteur. Cela signifie que vous ne pouvez pas obtenir exactement la même sortie. Si vous avez besoin de portabilité, vous aurez besoin de vous rouler propre réseau de distribution ou d'obtenir d'une tierce partie qui sera toujours la même, indépendamment de la plate-forme.