std:: seed_seq
| Common mathematical functions | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Mathematical special functions (C++17) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Mathematical constants (C++20) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Basic linear algebra algorithms (C++26) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Data-parallel types (SIMD) (C++26) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Floating-point environment (C++11) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Complex numbers | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Numeric array (
valarray
)
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Pseudo-random number generation | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Bit manipulation (C++20) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Saturation arithmetic (C++26) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Factor operations | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Interpolations | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Generic numeric operations | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| C-style checked integer arithmetic | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Member functions | ||||
|
Определено в заголовке
<random>
|
||
|
class
seed_seq
;
|
(начиная с C++11) | |
std::seed_seq
потребляет последовательность целочисленных данных и производит запрошенное количество 32-битных беззнаковых целых значений на основе потребленных данных. Полученные значения распределены по всему 32-битному диапазону, даже если потребленные значения близки друг к другу.
Он предоставляет способ инициализации большого количества генераторов случайных чисел или инициализации генератора, требующего много энтропии, при наличии небольшого начального значения или плохо распределенной начальной последовательности инициализации.
std::seed_seq
соответствует требованиям
SeedSequence
.
Содержание |
Вложенные типы
| Тип | Определение |
result_type
|
std::uint_least32_t |
Члены данных
| Участник | Описание |
std::
vector
<
result_type
>
v
|
Базовая последовательность затравки
( объект-член только для демонстрации* ) |
Функции-члены
создаёт и инициализирует
std::seed_seq
объект
(публичная функция-член) |
|
|
operator=
[deleted]
|
std::seed_seq
не может быть присвоен
(публичная функция-член) |
|
вычисляет 32-битные значения без смещения с равномерным распределением
(публичная функция-член) |
|
|
получает количество хранимых 32-битных значений
(публичная функция-член) |
|
|
копирует все хранимые 32-битные значения
(публичная функция-член) |
Пример
#include <cstdint> #include <iostream> #include <random> 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