random_seed_seq
random_seed_seq (시드 시퀀스)
std::seed_seq는 정수 값 데이터의 시퀀스를 소비하고, 소비된 데이터를 기반으로 요청된 수의 32비트 부호 없는 정수 값을 생성해요. 소비된 값이 서로 가까워도 생성된 값은 전체 32비트 범위에 분포돼요. C++11부터 사용할 수 있어요.
출처: cppreference
본문
<random> 헤더에 정의되어 있고, 시그니처는 다음과 같아요.
class seed_seq;
(since C++11)
std::seed_seq는 정수 값 데이터의 시퀀스를 소비하고, 소비된 데이터를 기반으로 요청된 수의 32비트 부호 없는 정수 값을 생성해요. 생성된 값은 소비된 값이 서로 가까워도 전체 32비트 범위에 분포돼요.
작은 시드나 잘 분포되지 않은 초기 시드 시퀀스가 주어졌을 때, 많은 수의 난수 엔진을 시딩하거나 많은 엔트로피가 필요한 생성기를 시딩하는 방법을 제공해요.
std::seed_seq는 SeedSequence 요구사항을 만족해요.
중첩 타입 (Nested types)
| 타입 | 정의 |
|---|---|
| result_type | std::uint_least32_t |
데이터 멤버 (Data members)
| 멤버 | 설명 |
|---|---|
| std::vector<result_type> v | 기본 시드 시퀀스 (설명 전용 멤버 객체) |
멤버 함수 (Member functions)
- (constructor) —
std::seed_seq객체 생성 및 시딩 - operator= [삭제됨] —
std::seed_seq는 대입 불가 - generate — 편향 제거, 균등 분포된 32비트 값 계산
- size — 저장된 32비트 값 수 획득
- param — 모든 저장된 32비트 값 복사