公有成員函式
<random>

std::independent_bits_engine::seed

(1)
void seed();
(2)
void seed (result_type val);
(3)
template <class Sseq>void seed (Sseq& q);
Seed base engine (為基礎引擎設定種子)
透過呼叫其 base 引擎的建構函式來重新初始化 base 引擎的狀態。seedmember function with the same argument (if any). (同名引數(如果存在)成員函式,重新初始化其狀態。)

引數

val
一個種子值。該值將傳遞給 base 引擎的建構函式。
result_type是成員型別,定義為 base 生成的元素型別的別名。
q
一個種子序列物件,例如seed_seq型別的物件。
Sseq應為具有generate成員函式的種子序列類。

返回值



示例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
// independent_bits_engine::seed example
#include <iostream>
#include <chrono>
#include <cstdint>
#include <random>

int main ()
{
  typedef std::chrono::high_resolution_clock myclock;
  myclock::time_point beginning = myclock::now();

  // obtain a seed from a user string:
  std::string str;
  std::cout << "Please, enter a seed: ";
  std::getline(std::cin,str);
  std::seed_seq seed1 (str.begin(),str.end());

  // obtain a seed from the timer
  myclock::duration d = myclock::now() - beginning;
  unsigned seed2 = d.count();

  std::independent_bits_engine<std::mt19937,64,std::uint_fast64_t> generator (seed1);
  std::cout << "Your seed produced: " << generator() << std::endl;

  generator.seed (seed2);
  std::cout << "A time seed produced: " << generator() << std::endl;

  return 0;
}

可能的輸出
Please, enter a seed: give me numbers
Your seed produced: 8733447681123360525
A time seed produced: 8954499881567149160


複雜度

Determined by the base engine. (由base引擎決定。)

另見