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비트 값 복사

더 알아보기 (Learn more)

cppreference