最終更新日時(UTC):
が更新

履歴 編集

function
<random>

std::independent_bits_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>
#include <cstdint>

int main()
{
  std::independent_bits_engine<std::mt19937, 64, std::uint64_t> 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;
}

出力

1799302827895858725
1799302827895858725

バージョン

言語

  • C++11

処理系

参照