std::mersenne_twister_engine<UIntType,w,n,m,r,a,u,d,s,b,t,c,l,f>::seed
来自 cppreference.cn
< cpp | numeric | random | mersenne twister engine
void seed( result_type value = default_seed ); |
(1) | (自 C++11 起) |
template< class SeedSeq > void seed( SeedSeq& seq ); |
(2) | (自 C++11 起) |
设置随机数引擎的状态。
内容 |
[编辑] 参数
value | - | 用于设置状态的种子值 |
seq | - | 用于设置状态的种子序列 |
[编辑] 异常
[编辑] 复杂度
1) 与 std::mersenne_twister_engine(value) 相同。
2) 与 std::mersenne_twister_engine(seq) 相同。
缺陷报告
以下行为变更缺陷报告被追溯应用到先前发布的 C++ 标准。
DR | 应用于 | 发布时的行为 | 正确的行为 |
---|---|---|---|
LWG 2181 | C++11 | 重载 (2) 即使 seq.generate 调用抛出异常也不会抛出 |
传播异常 |
[编辑] 参见
构造引擎 (公有成员函数) |
[编辑] 示例
运行此代码
#include <iostream> #include <random> int main() { std::mt19937 gen; // Seed the engine with an unsigned int gen.seed(1); std::cout << "after seed by 1: " << gen() << '\n'; // Seed the engine with two unsigned ints std::seed_seq sseq{1, 2}; gen.seed(sseq); std::cout << "after seed by {1,2}: " << gen() << '\n'; }
可能的输出
after seed by 1: 1791095845 after seed by {1,2}: 3127717181