参考链接:http://www.cplusplus.com/reference/random/default_random_engine/
default_random_engine是C++11中提供的一个伪随机数生成类;
包含头文件:#include <random>
#include <iostream>
#include <random>
#include <ctime>
#include <unistd.h>
using namespace std;
int main()
{
int min=10,max=100;
//static std::default_random_engine e;
std::default_random_engine e;
uniform_int_distribution<unsigned> u(min,max);
for(int i =0; i<10; i++)
{
cout<<i<<"---"<<e<<"---"<<u(e)<<endl;
usleep(1000*1000);
}
}
运行结果:
多次调用同一对范围和引擎时,每次生成的数都是一样的。避免这个情况的话,需要在定义范围和引擎时,将其定义为static的,如下:
static default_random_engine e;
static uniform_int_distribution<unsigned> u(min,max);
PS:还可以引入时间参数作为种子。