random_random_device

random_random_device (하드웨어 난수 생성기)

std::random_device는 비결정적 난수를 생성하는 균일 분포 정수 난수 생성기예요. C++11부터 사용할 수 있어요.

출처: cppreference

본문

<random> 헤더에 정의되어 있고, 시그니처는 다음과 같아요.

class random_device;

(since C++11)

std::random_device는 비결정적 난수를 생성하는 균일 분포 정수 난수 생성기예요.

구현에 비결정적 소스(예: 하드웨어 장치)가 없으면 std::random_device를 구현 정의된 의사난수 엔진으로 구현할 수 있어요. 이 경우 각 std::random_device 객체가 같은 수열을 생성할 수 있어요.

멤버 타입 (Member types)

멤버 타입 정의
result_type unsigned int

멤버 함수 (Member functions)

  • 생성: (constructor) — 엔진 생성; operator= (삭제됨) — 할당 연산자 삭제
  • 생성: operator() — 엔진 상태 진행 및 생성 값 반환
  • 특성: entropy — 비결정적 난수 생성기의 엔트로피 추정치 획득; min [static] — 출력 범위의 가능한 가장 작은 값; max [static] — 출력 범위의 가능한 가장 큰 값

예제 (Example)

이 코드를 실행해 봐요.

#include <iostream>
#include <random>

int main()
{
    std::random_device rd; // 가능하면 하드웨어 엔트로피 사용
    std::cout << "random value: " << rd() << '\n';
    std::cout << "entropy: " << rd.entropy() << '\n';
}

더 알아보기 (Learn more)

cppreference