std:: srand
| Common mathematical functions | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Mathematical special functions (C++17) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Mathematical constants (C++20) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Basic linear algebra algorithms (C++26) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Data-parallel types (SIMD) (C++26) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Floating-point environment (C++11) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Complex numbers | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Numeric array (
valarray
)
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Pseudo-random number generation | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Bit manipulation (C++20) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Saturation arithmetic (C++26) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Factor operations | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Interpolations | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Generic numeric operations | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| C-style checked integer arithmetic | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
ヘッダーで定義
<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
|
|