最終更新日時:
が更新

履歴 編集

function
<random>

std::random_device::コンストラクタ(C++11)

explicit random_device(const string& token = implementation-defined); // (1)

random_device(const random_device&) = delete;                         // (2)

概要

  • (1) : トークンを受け取って乱数生成器を構築する。デフォルトのトークンパラメータは実装定義である。
    • ※実装は、このトークンパラメータによって、異なるランダムのソースを使用してもよい。
  • (2) : コピーコンストラクタ。コピー禁止。
    • これによって、ムーブコンストラクタも自動生成されない。

例外

  • (1) : 乱数生成器を初期化できなかった場合、exceptionから派生した実装定義の例外オブジェクトを送出する

#include <random>

int main()
{
  // (1) デフォルト構築
  {
    std::random_device rd;
  }

  // (1) トークン指定
  {
    // UNIX系OS上固有で、ランダムソースを/dev/randomにする
    std::random_device rd("/dev/random");
  }
}

出力

バージョン

言語

  • C++11

処理系

  • Clang: ??
  • GCC:
  • GCC, C++11 mode: 4.7.2
  • ICC: ??
  • Visual C++: 10.0, 11.0, 12.0, 14.0, 14.1
    • 14.1までにおいて、仮引数tokenの値が使用されることは無く、何を指定しても同じ結果となる。

参照