C++11中使用了一些名字有些难记的一系列函数来生成一个指定范围内随机数,不像C中那样简洁和直观。不过,为了使用标准C++11语法,尽可能抛弃C子集的函数,还是很有必要学习的。
当然,主要还是今天开会,大家都在说要写博客。想想自己一直在搞pages,但是上面大多都是些影评什么的,已经不能当作技术博客了,索性接着写CSDN吧,把一些零散的东西记在这里也是不错的。
闲话不说,下面是过程。参考了CPP官网,
以及C++ : mt19937 Example
用流逝的时间(秒)得到一个种子
unsigned seed = std::chrono::high_resolution_clock::now().time_since_epoch().count()
(类比于C中的
time(0)
)用种子构建一个随机生成器
std::mt19937 rand_generator(seed) ;
从此就直接可以用 rand_generator() 来得到一个