std :: shuffle_order_engine表如何管理?

时间:2020-07-28 19:34:01

标签: c++ algorithm random stl c++14

当我在operator()上致电std::shuffle_order_engine时,会立即生成一个新的数字来填充查询表吗?或者,仅在需要缺少数字的情况下才重新填充表格吗?

2 个答案:

答案 0 :(得分:1)

每个调用都会有一个或多个对适配器包含的来自cppreference的基础PRBG的调用:

生成一个随机值。基础引擎的状态前进了一次或多次。

答案 1 :(得分:1)

operator()函数将推进引擎的状态,并返回生成的任意值。

会立即生成一个新的数字来填充查询表吗?

每个构造函数都使用基本引擎返回的 n值填充表。

或者,仅在需要缺少数字的情况下才重新填充表中的数字吗?

当请求值时,引擎转换算法从表中选择一个值。因此它将在表中用完。

相关问题