命名空间
变体
操作

std::experimental::reseed

来自 cppreference.com
定义在头文件 <experimental/random>
void reseed();
(1) (库基础 TS v2)
void reseed( std::default_random_engine::result_type value );
(2) (库基础 TS v2)

重新播种 每个线程的随机数生成器 和任何 std::uniform_int_distribution 实例,这些实例由 randint 使用。

1) 将每个线程的生成器设置为不可预测的状态。
2) 播种每个线程的生成器 g,如同通过 g.seed(value) 进行播种一样。

内容

[编辑] 参数

value - 新种子的值

[编辑] 备注

后续对 randint 的调用不依赖于在调用 reseed 之前每个线程的生成器产生的值。

[编辑] 示例

#include <experimental/random>
#include <iostream>
 
int main()
{
    std::experimental::reseed();
 
    std::cout << "Random 2-digit decimal numbers: ";
 
    for (auto i = 0; i != 3; ++i)
        std::cout << std::experimental::randint(10, 99) << ' ';
    std::cout << '\n';
}

可能的输出

Random 2-digit decimal numbers: 41 60 56

[编辑] 另请参阅

在指定范围内生成一个随机整数
(函数模板) [编辑]