Thinking Different




C++0x 버전에서 추가된 난수 엔진 mt19937 입니다.
기존에 사용되는 rand() 함수의 경우 특정 범위에 치우쳐진 데이터가 나와서 완전하지 못하다는 문제점을 보완한 난수 엔진입니다.


1
2
3
4
5
6
7
8
9
10
11
#include <random>
 
template <typename T>
inline T RandomMt19937(T min, T max)
{
    std::random_device rd;
    std::mt19937 mt(rd());
    std::uniform_int_distribution<T> dist(min, max);
 
    return dist(mt);
}




mt19937을 사용하여 간단히 0 ~ 20까지 20번 랜덤 범위로 출력해보았습니다.