std::seed_seq::seed_seq

来自cppreference.com
< cpp‎ | numeric‎ | random‎ | seed seq

 
 
 
 
std::seed_seq
成员函数
原文:
Member functions
文本通过谷歌翻译机器翻译。
你可以帮忙校正和验证翻译。点击此处查看指示。
seed_seq::seed_seq
 
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.
文本通过谷歌翻译机器翻译。
你可以帮忙校正和验证翻译。点击此处查看指示。
2)
拷贝构造函数被删除:std::seed_seq是不是复制的.
原文:
The copy constructor is deleted: std::seed_seq is not copyable.
文本通过谷歌翻译机器翻译。
你可以帮忙校正和验证翻译。点击此处查看指示。
3)
通过迭代的范围内std::seed_seq,通过迭代器解引用的值复制的初始种子序列,构造一个[begin, end)modulo 232
(即低32位被复制)
原文:
Constructs a 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)
文本通过谷歌翻译机器翻译。
你可以帮忙校正和验证翻译。点击此处查看指示。
4)
相当于seed_seq(il.begin(), il.end())。此构造使列表初始化.
原文:
Equivalent to seed_seq(il.begin(), il.end()). This constructor enables 列表初始化.
文本通过谷歌翻译机器翻译。
你可以帮忙校正和验证翻译。点击此处查看指示。

[编辑] 参数

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
文本通过谷歌翻译机器翻译。
你可以帮忙校正和验证翻译。点击此处查看指示。
il -
std::initializer_list整数类型的对象,提供的iniial的种子序列
原文:
std::initializer_list of objects of integer type, providing the iniial seed sequence
文本通过谷歌翻译机器翻译。
你可以帮忙校正和验证翻译。点击此处查看指示。
类型要求
-
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
}