std::subtract_with_carry_engine<UIntType,w,s,r>::seed
void seed( result_type value = 0u ); | (1) | (начиная с C++11) |
template< class SeedSeq > void seed( SeedSeq& seq ); | (2) | (начиная с C++11) |
Устанавливает состояние генератора случайных чисел.
1) Сразу после установки состояния
*this == std::subtract_with_carry_engine(value) имеет значение true.
2) Сразу после установки состояния
*this == std::subtract_with_carry_engine(seq) имеет значение true.Параметры
| value | - | значение начального числа, используемое для установки состояния |
| seq | - | последовательность начальных чисел, используемая для установки состояния |
Исключения
2) Если
SeedSeq не является std::seed_seq, выбрасываются исключения, выбрасываемые при вызове seq.generate.Сложность
1) Такая же, как у
std::subtract_with_carry_engine(value).
2) Такая же, как у
std::subtract_with_carry_engine(seq).Сведения об исправлениях ошибок
Следующие отчёты об исправлении ошибок, изменяющие поведение, были применены ретроактивно к ранее опубликованным стандартам C++.
| Отчёт об исправлении | Применён к | Поведение согласно опубликованной версии | Корректное поведение |
|---|---|---|---|
| LWG 2181 | C++11 | перегрузка (2) не выбрасывала исключение, даже если вызов seq.generate выбрасывал исключение | исключение передаётся дальше |
| LWG 3809 | C++11 | аргумент по умолчанию для value был равен default_seed | изменён на 0u |
См. также
| создаёт генератор (открытая функция-член) |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/cpp/numeric/random/subtract_with_carry_engine/seed