我们可以从std :: shuffle的cppreference文档中看到:
URNG必须满足UniformRandomNumberGenerator的要求.
遗憾的是,该网站没有记录这些要求是什么,因此我们需要查看草案C++ 11标准部分26.5.1.3 统一随机数生成器要求,其中说明如下:
G类型的均匀随机数生成器g是返回无符号整数值的函数对象,使得可能结果范围中的每个值具有(理想地)返回的相等概率.
如果表116中所示的表达式有效并具有指示的语义,并且如果G也满足本节26.5.1.3的所有其他要求,则G类满足均匀随机数生成器的要求.在该表和整个本节中:
- T是由G的关联result_type命名的类型,和
- g是值
表116总结如下:
以下关系应成立:G :: min()<G :: max().
更新
为了澄清何时T表示无符号整数类型,它表示3.9.1 基本类型部分中包含的以下类型之一,其中包括:
这还包括扩展的无符号整数类型,如uinit64_t,如果您的平台支持它们.
| 归档时间: |
|
| 查看次数: |
905 次 |
| 最近记录: |