std::srand
提供: cppreference.com
| ヘッダ <cstdlib> で定義
|
||
| void srand( unsigned seed ); |
||
std::rand() で使用される擬似乱数ジェネレータを値 seed でシードします。
いかなる srand() の呼び出しよりも前に rand() が使用された場合、 rand() は srand(1) によってシードされたかのように動作します。
同じ seed を使用して rand() がシードされるたびに、連続する呼び出しに対して同じ値のシーケンスを生成しなければなりません。
srand() はスレッドセーフであることは保証されません。
目次 |
[編集] 引数
| seed | - | シード値 |
[編集] 戻り値
(なし)
[編集] ノート
一般的に擬似乱数ジェネレータは、プログラム開始時にいかなる rand() の呼び出しよりも前に、一度だけシードするべきです。
繰り返しシードしたり、新しい乱数の束を生成したいときに毎回再シードしたりするべきではありません。
標準的な慣習では time(0) の呼び出しの結果をシードとして使用します。
しかし、 time() は time_t の値を返し、 time_t は整数型であることは保証されていません。
とはいえ、実際のところ、すべてのメジャーな処理系は time_t を整数型として定義しており、これは POSIX が要求していることでもあります。
[編集] 例
Run this code
出力例:
Random value on [0 2147483647]: 1373858591
[編集] 関連項目
| 擬似乱数を生成します (関数) | |
| std::rand によって生成可能な最大値 (マクロ定数) | |
| スレッドごとのランダムエンジンを再シードします (関数) | |
| srand の C言語リファレンス
| |

