std:: srand
|
ヘッダーで定義
<cstdlib>
|
||
|
void
srand
(
unsigned
seed
)
;
|
||
std::rand()
で使用される擬似乱数生成器を値
seed
で初期化します。
std::rand()
が
srand()
の呼び出しより前に使用された場合、
std::rand()
は
srand
(
1
)
でシードされたかのように動作します。
同じ
std::rand()
が同じ
seed
で初期化されるたびに、同じ値のシーケンスを生成しなければならない。
srand()
はスレッドセーフであることが保証されていません。
目次 |
パラメータ
| seed | - | シード値 |
戻り値
(なし)
注記
一般的に、疑似乱数生成器はプログラムの開始時に、rand()の呼び出し前に一度だけシード設定されるべきです。
疑似乱数の新しいバッチを生成するたびに繰り返しシード設定したり、再シード設定したりすべきではありません。
標準的な方法は、 std:: time ( 0 ) の呼び出し結果をシード値として使用することです。 しかしながら、 std::time は std:: time_t 型の値を返し、 std:: time_t は整数型であることが保証されていません。 実際には、主要な実装ではすべて std:: time_t を整数型として定義しており、これはPOSIXが要求する仕様とも一致しています。
例
出力例:
Random value on [0, 2147483647]: 1373858591
関連項目
|
擬似乱数を生成する
(関数) |
|
|
std::rand
によって生成される最大値
(マクロ定数) |
|
|
スレッドごとの乱数エンジンを再シードする
(関数) |
|
|
Cドキュメント
for
srand
|
|