std::srand
從 cppreference.com
在標頭 <cstdlib> 定義
|
||
void srand( unsigned seed ); |
||
以值 seed
播種 std::rand() 所用的隨機數生成器。
若在對 srand()
的任何調用前使用了 std::rand(),則 std::rand() 表現為如同它被以 srand(1) 播種。
每次以同一 seed
播種 std::rand() 時,它必須產生相同的值數列。
srand()
不保證為線程安全。
目錄 |
[編輯] 參數
seed | - | 種子值 |
[編輯] 返回值
(無)
[編輯] 註解
通常來說,應該只播種一次隨機數生成器,在程序開始時,對 rand()
的任何調用前進行。
不應重複播種,或每次冀願生成新一批隨機數時進行重播種。
標準實踐是使用調用 std::time(0) 的結果為種子。 然而 std::time 返回的是 std::time_t 值,而 std::time_t 不保證是整數類型。 不過,實踐中各主要實現都把 std::time_t 定義為整數類型,且此亦為 POSIX 所要求。
[編輯] 示例
運行此代碼
可能的輸出:
[0, 2147483647] 上的随机数值: 1373858591
[編輯] 參閱
生成偽隨機數 (函數) | |
std::rand 生成的最大可能值 (宏常量) | |
重播種單個線程的隨機引擎 (函數) | |
srand 的 C 文檔
|