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';
}