public member function
<random>

std::seed_seq::generate

template <class RandomAccessIterator>  void generate (RandomAccessIterator first, RandomAccesIterator last);
生成序列
用可用于播种伪随机数生成器引擎的 32 位值序列填充提供的序列。

这些值是使用考虑到对象初始化的内部序列的算法生成的。

参数

first, last
到范围内初始和最终位置的随机访问迭代器。 使用的范围是[first,last),它包括firstlast之间的所有元素,包括first指向的元素,但不包括last指向的元素。
函数模板类型应是可变的随机访问迭代器,它指向能够容纳 32 位值的整数类型的元素。

返回值



示例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
// seed_seq::generate
#include <iostream>
#include <random>
#include <array>

int main ()
{
  std::seed_seq seed = {102,406,7892};

  std::cout << "generating a sequence of 5 elements:" << std::endl;
  std::array<unsigned,5> sequence;
  seed.generate(sequence.begin(),sequence.end());
  for (unsigned x:sequence) {std::cout << x << std::endl;}

  return 0;
}

可能的输出
generating a sequence of 5 elements:
1744849824
2338808733
1540432678
2581311530
937904459


复杂度

线性于last-first.

另见