23

たとえば、std::mt19937GCC と MSVC でまったく同じシードとパラメータを使用して a をインスタンス化した場合、乱数の同じシーケンスを取得する必要がありますか? もしそうなら、mt19937 は特定のパラメーターを持つ 1 つにすぎないため、このプロパティは一般的に mersenne_twister_engine に適用されると思います。これは C には当てはまりませんrand()。特定のコードに関して変換が適用された標準ドキュメントのように見えるので、常に同じである必要があると思いますが、問題は詳細にあります...

4

1 に答える 1

23

新しい乱数エンジンの場合、はい、同じシードとパラメーターに対して、すべてのプラットフォームで同じ値のシーケンスが得られます。rand()いいえ。また、同じシーケンスの入力値が与えられた場合でも、乱数分布ではその保証はありません。

于 2012-11-27T17:01:39.537 に答える