命名空间
变体
操作

std::mersenne_twister_engine<UIntType,w,n,m,r,a,u,d,s,b,t,c,l,f>::seed

来自 cppreference.cn
 
 
 
伪随机数生成
均匀随机比特生成器  
随机数引擎
随机数引擎适配器
预定义随机数生成器
非确定性随机数

工具

随机数算法

C 随机库


随机数分布
均匀分布
伯努利分布
泊松分布
正态分布
抽样分布
 
 
void seed( result_type value = default_seed );
(1) (C++11 起)
template< class SeedSeq >
void seed( SeedSeq& seq );
(2) (C++11 起)

设置随机数引擎的状态

1) 状态设置后,*this == std::mersenne_twister_engine(value)true
2) 状态设置后,*this == std::mersenne_twister_engine(seq)true

目录

[编辑] 参数

value (值) - 用于设置状态的种子值
seq (序列) - 用于设置状态的种子序列

[编辑] 异常

2)SeedSeq 不是 std::seed_seq,则抛出 seq.generate 调用抛出的异常。

[编辑] 复杂度

缺陷报告

下列更改行为的缺陷报告追溯地应用于以前出版的 C++ 标准。

缺陷报告 应用于 发布时的行为 正确的行为
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