命名空间
变体
操作

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

来自 cppreference.cn
 
 
 
 
 
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 调用抛出异常也不会抛出 传播异常