std::random_device と MinGW の再現性の問題
C では、
分析
一貫性のない動作により、決定論に関する疑問が生じました。
「非決定的なソース (ハードウェア デバイスなど) の場合、std::random_device は擬似乱数エンジンの観点から実装される可能性があることに注意してください」 ) は実装では利用できません。"
これは、真のランダム ソースが利用できない場合、ライブラリは擬似ランダム ジェネレーターに頼ることを示唆しています。ただし、MinGW 4.8.1 の場合、擬似乱数を使用しても、出力は一貫して予測可能なままであるようです。
疑わしい根拠
ある理論では次のように仮定されています。この動作は意図的なものである可能性があります。ライブラリは、非ランダムなシーケンスを提供することで、基礎となる実装のランダム性における潜在的な欠陥を強調します。これは、生成される乱数が本当に予測不可能ではない可能性があるという開発者への警告となります。
解決策
MinGW 4.8.1 で真にランダムなシーケンスを生成するには、ユーザーは
以上がstd::random_device が MinGW 4.8.1 と同じシーケンスを生成するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。