公有成員函式
<random>

std::discard_block_engine::discard

void discard (unsigned long long z);
Advance internal state (推進內部狀態)
將內部狀態推進z個刻度,如同呼叫zoperator() 一樣,但不會生成任何數字。

對狀態序列的影響與在後續元素上應用轉換演算法的次數相同。

引數

z
Number of equivalent advances. (等效推進的次數。)

返回值



示例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
// discard_block_engine::discard
#include <iostream>
#include <chrono>
#include <random>

int main ()
{
  // obtain a seed from the system clock:
  unsigned seed = std::chrono::system_clock::now().time_since_epoch().count();

  // ranlux24 is a standard instantitation of discard_block_engine:
  std::ranlux24 generator (seed);

  std::cout << "Random value: " << generator() << std::endl;

  generator.discard(generator.used_block);  // advance an entire block

  std::cout << "Random value: " << generator() << std::endl;

  return 0;
}

可能的輸出
Random value: 6747515
Random value: 8481690


複雜度

Linear in z. (與z呈線性關係。)

另見