std::seed_seq::seed_seq
Материал из cppreference.com
|
|
Эта страница была переведена автоматически с английской версии вики используя Переводчик Google. Перевод может содержать ошибки и странные формулировки. Наведите курсор на текст, чтобы увидеть оригинал. Щёлкните здесь, чтобы увидеть английскую версию этой страницы. (Вы можете помочь в исправлении ошибок и улучшении перевода. Для инструкций перейдите по ссылке.) |
<metanoindex/>
<tbody> </tbody> seed_seq(); |
(1) | (начиная с C++11) |
seed_seq( const seed_seq& ) = delete; |
(2) | (начиная с C++11) |
template< class InputIt > seed_seq( InputIt begin, InputIt end ); |
(3) | (начиная с C++11) |
template< class T > seed_seq( std::initializer_list<T> il ); |
(4) | (начиная с C++11) |
1)
Конструктор по умолчанию создает
std::seed_seq объекта с исходной последовательности семян нулевой длины.Оригинал:
The default constructor creates a
std::seed_seq object with an initial seed sequence of length zero.Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
2)
Конструктор копирования удаляются:
std::seed_seq не копируемым.Оригинал:
The copy constructor is deleted:
std::seed_seq is not copyable.Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
3)
Создает
(то есть, 32 бита копируется)
std::seed_seq с исходной последовательности семян получена путем итерации в диапазоне [begin, end) и копирование значений, полученных путем разыменования итератора, modulo 232(то есть, 32 бита копируется)
Оригинал:
Constructs a
(that is, the lower 32 bits are copied)
std::seed_seq with the initial seed sequence obtained by iterating over the range [begin, end) and copying the values obtained by dereferencing the iterator, modulo 232(that is, the lower 32 bits are copied)
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
4)
Эквивалент
seed_seq(il.begin(), il.end()). Этот конструктор позволяет Список инициализации.Оригинал:
Equivalent to
seed_seq(il.begin(), il.end()). This constructor enables Список инициализации.Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Параметры
| begin, end | — | Исходная последовательность семян представлен в виде пары итераторов ввода которого
std::iterator_traits<>::value_type целое типаОригинал: the initial seed sequence represented as a pair of input iterators whose std::iterator_traits<>::value_type is an integer typeТекст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. |
| il | — | std::initializer_list объектов целого типа, обеспечивающие iniial последовательности семян
Оригинал: std::initializer_list of objects of integer type, providing the iniial seed sequence Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. |
| Требования к типам | ||
-InputIt должен соответствовать требованиям InputIterator.
|
Пример
Запустить этот код
#include <random>
#include <sstream>
#include <iterator>
int main()
{
std::seed_seq s1; // default-constructible
std::seed_seq s2{1, 2, 3}; // can use list-initialization
std::seed_seq s3 = {-1, 0, 1}; // another form of list-initialization
int a[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
std::seed_seq s4(a, a + 10); // can use iterators
std::istringstream buf("1 2 3 4 5");
std::istream_iterator<int> beg(buf), end;
std::seed_seq s5(beg, end); // even stream input iterators
}