深海中的STL—mt19937


mt19937

當你第一眼看到這玩意兒的時候

肯定禁不住吐槽:納尼?這是什么鬼?

確實,這個東西鮮為人知,但是它卻有着卓越的性能

簡介

mt19937是c++11中加入的新特性

它是一種隨機數算法,用法與rand()函數類似

但是具有速度快,周期長的特點(它的名字便來自周期長度:2^19937-1)

說的直白一點,我們都知道rand()在windows下生成的數據范圍為0-32767

但是這個函數的隨機范圍大概在\((-maxint,+maxint)\)(maxint為int類型最大值)

實例

這個東西用法非常簡單

#include<random>
#include<ctime>
std::mt19937 rnd(time(0));
int main()
{
	printf("%lld\n",rnd());
	return 0;
}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM