C++ STL-- mt19937

mt19937
纳尼?这是what?
一脸懵逼,突然领悟到了那句话:懵逼树上懵逼果,懵逼树下只有我(此处自我嘲讽一番),这个东西确实鲜为人知,mt19937是C++11新加入的特性,虽然长得一脸蒙逼样,不影响其卓越的性能。
简介
mt19937第一眼以为是一个叫mt在19937是发表此算法或者是寿终正寝之日(此处小邪恶一下),经过查询才知道
mt是指maxint(整型int最大值的缩写)
19937是指2^19937-1
mt19937是c++11新特性,它是一种随机数算法,用法与rand()函数类似,但是mt19937具有速度快,周期长的特点(所谓周期长应该是指19937所代表的意思吧)
rand()在windows下生成的数据范围为0-32726
此时的mt19937所生成的数据范围大概为(0,+maxint)(maxint整型int最大值的缩写)

示例代码

#include
#include

typedef std::mt19937  Random_mt19937;
Random_mt19937  rnd(time(0));

int main()
{
printf("%11d\n",rnd());
return 0;
}
 

你可能感兴趣的:(C++,STL,random_mt19937)