ST L中有 3 个随机数引擎的类模板。它们中的每一个都实现了用来生成随机数序列的著名且高效的算法,但它们都有不同的优缺点。
这里的 3 个模板是 STL 提供的所有 10 个标准的随机数生成器类类型的基础。除了默认的 default_random_engine 生成器类型(这是实现的定义)之外,还有 9 个更进一步的生成器类类型,可以自定义引擎来实现生成随机序列的已知的可靠算法。
有 3 个随机数引擎适配器可以自定义从一个引擎得到的序列。它们中的每一个都有一个指定运用哪个引擎的模板参数。这 3 个引擎适配器模板是:
生成器类既可以直接用一套指定的模板参数值自定义一个引擎模板,也可以用一个随机数引擎适配器来自定义另一个生成器。引擎产生生成器的方式如图 1 所示。