最終更新日時:
が更新

履歴 編集

function
<random>

std::linear_congruential_engine::discard(C++11)

void discard(unsigned long long z);

概要

指定した回数だけ擬似乱数を生成し、内部状態を進める。

効果

*thiseとした場合、

for (unsigned long long i = 0; i < z; ++i) {
  e();
}

と同じ効果を持つ。

指定された回数だけ乱数生成を行い、結果を破棄する。

戻り値

なし

#include <iostream>
#include <random>

int main()
{
  std::minstd_rand engine;

  for (int i = 0; i < 5; ++i) {
    engine();
  }

  std::cout << engine() << std::endl;

  // エンジンを再初期化し、内部状態を5回進める
  // 上のコードで生成した乱数と同じ結果が得られる
  engine.seed();
  engine.discard(5);

  std::cout << engine() << std::endl;
}

出力

407355683
407355683

バージョン

言語

  • C++11

処理系

参照