srand
提供: cppreference.com
ヘッダ <stdlib.h> で定義 | ||
void srand(unsigned seed ); | ||
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