说到随机数,可能想到的一个方法就是rand(),我不想用这个,所以我使用了<random>.
随机数的产生普遍有两种行为:
- 产生一个变量可存储的任意随机数。
- 产生一个指定范围内的随机数。
我编写了以下代码:
#include<random>
int main() {
std::random_device dr;
std::mt19937 gen(dr()); // 为什么会是这么个名字
std::uniform_int_distribution dis(0);
int m = dis(gen);
return 0;
}
M的取值范围是int所能存储的范围内可能的任意数。
std::uniform_int_distribution dis(0,100); //0-100以内的任意数。
std::uniform_real dis(0.12,10.0); //是的,你没有猜错,他会产生一个范围之内的小数。
他们均有两种版本可供使用,他们重载比较运算符,可以进行比较。