std::experimental::reseed
From cppreference.com
< cpp | experimental
| ヘッダ <experimental/random> で定義 |
||
| void reseed(); |
(1) | (Library Fundamentals TS v2) |
| void reseed( std::default_random_engine::result_type value ); |
(2) | (Library Fundamentals TS v2) |
スレッドごとの乱数生成器と、randint によって使用される std::uniform_int_distribution インスタンスを再シードします。
1) スレッドごとの生成器を予測不能な状態に設定します。
2) スレッドごとの生成器
gを、g.seed(value)のようにシードします。目次 |
[編集] パラメータ
| value | - | 新しいシードの値 |
[編集] 備考
reseedの呼び出し後にrandintを呼び出した結果は、reseedを呼び出す前にスレッドごとの生成器が生成した値に依存しなくなります。
[編集] 例
このコードを実行
#include <experimental/random> #include <iostream> int main() { std::experimental::reseed(); std::cout << "Random 2-digit decimal numbers: "; for (auto i = 0; i != 3; ++i) std::cout << std::experimental::randint(10, 99) << ' '; std::cout << '\n'; }
実行結果の例
Random 2-digit decimal numbers: 41 60 56
[編集] 関連項目
| 指定された範囲のランダムな整数を生成する (関数テンプレート) |