名稱空間
變體
操作

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

來自 cppreference.com
 
 
 
偽隨機數生成
均勻隨機位元生成器  
隨機數引擎
隨機數引擎介面卡
預定義隨機數生成器
非確定性隨機數

工具

隨機數演算法

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