<random>

public member function (公共成员函数)
<random>

std::subtract_with_carry_engine::discard

void discard (unsigned long long z);
Advance internal state (推进内部状态)
Advances the internal state by z notches, as if operator() was called z times, but without generating any numbers in the process. (将内部状态推进 z 个刻度,就像调用了 operator() z 次一样,但在此过程中不生成任何数字。)

The effects on the state sequence are the same as if the transition algorithm was applied as many times as notches advanced on subsequent elements. (对状态序列的影响与将转换算法应用到后续元素上的刻度一样多次相同。)

参数

z
Number of equivalent advances. (等效推进的次数。)

返回值



示例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
// subtract_with_carry_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();

  std::subtract_with_carry_engine<unsigned,24,10,24> generator (seed);

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

  return 0;
}

可能的输出
Random value: 14872181
Random value: 5758068


复杂度

Linear in z. (与z呈线性关系。)

另见