文章目录
使用random
库产生随机数
default_random_engine
default_random_engine是C++标准库中的一个类模板,定义在头文件< random >中。它是一个确定性的伪随机数生成器,基于指定的种子产生一系列随机整数。默认情况下,该引擎使用默认种子进行初始化,但是可以通过seed函数将其设置为任何值。
default_random_engine与c语言的rand函数
rand和default_random_engine都是C++标准库中用于生成随机数的工具。
rand是在C语言标准库中定义的随机数生成器函数,其返回一个介于0到RAND_MAX(通常是32767)之间的整数。rand函数使用一个内部状态,它被称为伪随机数生成器(PRNG),因为它实际上不是真正的随机数生成器。PRNG的输出是看似随机的数字序列,但实际上是由一个数学算法生成的。rand函数每次被调用时都会返回不同的数字,但这些数字之间有一定的关联性,而且它们不能够提供真正的随机性。
相较于rand函数,C++11标准引入的default_random_engine是一个更好的随机数生成工具。它可以根据某个种子(seed)生成伪随机数序列,这个伪随机数序列可以被认为是更加随机的。默认情况下,default_random_engine使用的种子是时间,这意味着每次程序的运行都会得到不同的随机数序列。而且,default_random_engine还提供了一系列的随机数分布函数(如均匀分布、正态