std::seed_seq
提供: cppreference.com
<tbody>
</tbody>
| ヘッダ <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