std::seed_seq
提供: cppreference.com
ヘッダ <random> で定義
|
||
class seed_seq; |
(C++11以上) | |
std::seed_seq
は一連の整数値データを消費し、その消費したデータを基にして要求された個数の符号なし整数値 i
(0 ≤ i < 232
) を生成します。 生成される値は、消費された値が近くても、32ビットの範囲全��に渡って分布されます。
これは、小さなシード、または不十分に分布されている初期シードシーケンスから、乱数エンジンの大きな数をシードするための、または大きなエントロピーを要求するジェネレータをシードするための方法を提供します。
std::seed_seq
は SeedSequence の要件をすべて満たします。
[編集] メンバ型
メンバ型 | 定義 |
result_type
|
std::uint_least32_t |
[編集] メンバ関数
std::seed_seq オブジェクトを構築してシードします (パブリックメンバ関数) | |
operator= (deleted) |
コピー代入可能ではありません (パブリックメンバ関数) |
バイアスが除去された、均等に分布する32ビット値を計算します (パブリックメンバ関数) | |
std::seed_seq に格納されている32ビット値の数を取得します (パブリックメンバ関数) | |
std::seed_seq に格納されている32ビット値を取得します (パブリックメンバ関数) |
[編集] 例
Run this code
#include <random> #include <cstdint> #include <iostream> int main() { std::seed_seq seq{1,2,3,4,5}; std::vector<std::uint32_t> seeds(10); seq.generate(seeds.begin(), seeds.end()); for (std::uint32_t n : seeds) { std::cout << n << '\n'; } }
出力:
4204997637 4246533866 1856049002 1129615051 690460811 1075771511 46783058 3904109078 1534123438 1495905678