针对使用随机数,每次可能出现相同的数,采用以下相对较好的实现方法
- 第1行和第2行是头文件,分别包含了输入输出流和随机数相关的库函数。
- 第4行调用random_device函数创建一个真正的随机数生成器rd,用于生成种子。
- 第5行使用mt19937引擎生成器gen,将上面生成的随机数作为种子。这里使用了Mersenne Twister 19937算法生成器。
- 第8行创建了一个uniform_int_distribution对象dis,表示生成[1,65535]之间的均匀分布整数。
- 第9~13行使用for循环生成5个随机整数,并输出到屏幕上。
#include <iostream>
#include <random>
int main()
{
// 设置种子
std::random_device rd;
std::mt19937 gen(rd());
// 生成随机整数
std::uniform_int_distribution<> dis(1, 65535);
for (int i = 0; i < 5; ++i) {
std::cout << dis(gen) << " ";
}
return 0;
}