std::seed_seq::seed_seq
STD:种子[医]SEQ::SEED[医]SEQ
seed_seq( | (1) | (since C++11) |
---|---|---|
seed_seq( const seed_seq& ) = delete; | (2) | (since C++11) |
template< class InputIt > seed_seq( InputIt begin, InputIt end | (3) | (since C++11) |
template< class T > seed_seq( std::initializer_list<T> il | (4) | (since C++11) |
1%29默认构造函数创建一个std::seed_seq
具有长度为零的初始种子序列的。
2%29复制构造函数被删除:std::seed_seq
是不可复制的。
3%29构造一个std::seed_seq
通过遍历范围获得初始种子序列[begin, end)
并复制通过反引用迭代器(Modo 232)获得的值。
%28,也就是,复制了较低的32位
4%29相当于seed_seq(il.begin(), il.end())
.此构造函数启用列表初始化...
参数
begin, end | - | the initial seed sequence represented as a pair of input iterators whose std::iterator_traits<>::value_type is an integer type |
---|---|---|
il | - | std::initializer_list of objects of integer type, providing the iniial seed sequence |
类型要求
-输入必须符合输入器的要求。
例外
1%29不投
例
二次
#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
}
二次
© cppreference.com
在CreativeCommonsAttribution下授权-ShareAlike未移植许可v3.0。