0
点赞
收藏
分享

微信扫一扫

C++标准库--伪随机数std::default_random_engine


参考链接:​​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);
}
}

运行结果:

C++标准库--伪随机数std::default_random_engine_随机数生成

多次调用同一对范围和引擎时,每次生成的数都是一样的。避免这个情况的话,需要在定义范围和引擎时,将其定义为static的,如下:

static default_random_engine e;
static uniform_int_distribution<unsigned> u(min,max);

PS:还可以引入时间参数作为种子。

举报

相关推荐

0 条评论