这篇文章讲解一下C++11的在随机数上的新特性。没记错的话,之前被爆出旧版的C++的随机函数存在安全漏洞(没记错的话好像微软又重写了一个安全版的?)。
C++11的随机数的用法如下
先定义一个default_random_engine
default_random_engine engine(static_cast<unsigned int>(time(0)));
上面这行代码以当前时间戳初始化了一个engine
然后,弄一个uniform_int_distribution
uniform_int_distribution<unsigned int> randomInt(1,6);
上面这串代码表名我们要生成一个1到6之间的随机数。需要注意的是,这个区间是一个闭区间,也就是说,生成的随机数是位于[1,6]之间的整数。
然后再使用这段代码来生成随机数
randomInt(engine);