名稱空間
變體
操作

std::discard_block_engine<Engine,P,R>::seed

來自 cppreference.com
 
 
 
 
 
void seed();
(1) (C++11 起)
void seed( result_type value );
(2) (C++11 起)
template< class SeedSeq >
void seed( SeedSeq& seq );
(3) (C++11 起)

使用新的種子值重新初始化底層引擎的內部狀態。

1) 使用預設種子值初始化底層引擎。實際呼叫 e.seed(),其中 e 是底層引擎。
2) 使用種子值 value 初始化底層引擎。實際呼叫 e.seed(value),其中 e 是底層引擎。
3) 使用種子序列 seq 初始化底層引擎。實際呼叫 e.seed(seq),其中 e 是底層引擎。
僅當 SeedSeq 滿足 SeedSequence 的要求時,此過載才參與過載決議。

[編輯] 引數

value - 用於初始化底層引擎內部狀態的種子值
seq - 用於初始化底層引擎內部狀態的種子序列

[編輯] 異常

3) 如果 SeedSeq 不是 std::seed_seq,則丟擲由 seq.generate 呼叫丟擲的異常。

[編輯] 缺陷報告

下列更改行為的缺陷報告追溯地應用於以前出版的 C++ 標準。

缺陷報告 應用於 釋出時的行為 正確的行為
LWG 2181 C++11 過載 (3) 即使 seq.generate 呼叫丟擲異常也不會丟擲 傳播異常