Namespaces
Variants

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

From cppreference.net

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 호출에서 발생하는 예외를 던집니다.

복잡도

1) std:: mersenne_twister_engine ( value ) 와 동일합니다.
2) std:: mersenne_twister_engine ( seq ) 와 동일합니다.

결함 보고서

다음의 동작 변경 결함 보고서들은 이전에 발표된 C++ 표준에 소급 적용되었습니다.

DR 적용 대상 게시된 동작 올바른 동작
LWG 2181 C++11 오버로드 ( 2 ) seq.generate 호출이 예외를 발생시켜도 예외를 발생시키지 않음 예외를 전파함

참고 항목

엔진을 생성합니다
(public member function)

예제

#include <iostream>
#include <random>
int main()
{
    std::mt19937 gen;
    // 부호 없는 정수로 엔진 시드 설정
    gen.seed(1);
    std::cout << "after seed by 1: " << gen() << '\n';
    // 두 개의 부호 없는 정수로 엔진 시드 설정
    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