c++11의 random 객체의 일반적인 예제를 보면 uniform_int_distribution 객체를 사용하는것이 보이는데
랜덤 변수 하나를 뽑을 때마다 해당 객체를 생성하는 형태로 만들어져 있다.
정말 저래도 괜찮은 걸까..? 테스트를 해봤음.
C의
rand() % 100 + 100
C++의
uniform_int_distribution<int> distribution(100, 199);
distribution(_generator);
distribution(_generator);
코드를 첨부하긴 귀찮고.. 하여간 해봤을때
visual studio 2019에서 디버그 모드는 c++11의 코드가 느렸지만
릴리즈 모드는 서너빼 빠름
신박..
distribution 의 초기화 문제뿐 아니라 랜덤넘버 생성도 c++11은
mersenne_twister 를 쓰는데 우째 더 빠르지..