Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Rastgele sayı altyapısı için rastgele bir tohum sağlayabilen işaretsiz tamsayı değerlerinin vektörlerini depolar.
Sözdizimi
class seed_seq
{
public:
// types
typedef unsigned int result_type;
// constructors
seed_seq();
template <class T>
seed_seq(initializer_list<T> initlist);
template <class InputIterator>
seed_seq(InputIterator begin, InputIterator end);
// generating functions
template <class RandomAccessIterator>
void generate(RandomAccessIterator begin, RandomAccessIterator end);
// property functions
size_t size() const;
template <class OutputIterator>
void param(OutputIterator dest) const;
// no copy functions
seed_seq(const seed_seq&) = delete;
void operator=(const seed_seq&) = delete;
};
Türler
typedef unsigned int result_type;
Tohum dizisinin öğelerinin türü. 32 bit işaretsiz tamsayı türü.
Oluşturucular
seed_seq();
Varsayılan oluşturucu, boş bir iç diziye sahip olacak şekilde başlatılır.
template<class T>
seed_seq(initializer_list<T> initlist);
İç diziyi ayarlamak için kullanır initlist .
T bir tamsayı türünde olmalıdır.
template<class InputIterator>
seed_seq(InputIterator begin, InputIterator end);
Sağlanan giriş yineleyici aralığındaki tüm öğeleri kullanarak iç diziyi başlatır.
iterator_traits<InputIterator>::value_type bir tamsayı türünde olmalıdır.
Üyeler
İşlev Oluşturma
template<class RandomAccessIterator>
void generate(RandomAccessIterator begin,
RandomAccessIterator end);
Sağlanan dizinin öğelerini bir iç algoritma kullanarak doldurur. Bu algoritma, ile başlatılan iç diziden seed_seq etkilenir.
ise begin == endhiçbir şey yapmaz.
Özellik İşlevleri
size_t size() const;
içindeki seed_seqöğe sayısını döndürür.
template<class OutputIterator>
void param(OutputIterator dest) const;
İç diziyi çıkış yineleyicisine kopyalar dest.
Örnek
Aşağıdaki kod örneği üç oluşturucuyu çalıştırır ve bir diziye atandığında sonuçta elde edilen seed_seq örneklerden çıkış oluşturur. Rastgele bir sayı oluşturucu ile kullanan seed_seq bir örnek için bkz <. rastgele>.
#include <iostream>
#include <random>
#include <string>
#include <array>
using namespace std;
void test(const seed_seq& sseq) {
cout << endl << "seed_seq::size(): " << sseq.size() << endl;
cout << "seed_seq::param(): ";
ostream_iterator<unsigned int> out(cout, " ");
sseq.param(out);
cout << endl;
cout << "Generating a sequence of 5 elements into an array: " << endl;
array<unsigned int, 5> seq;
sseq.generate(seq.begin(), seq.end());
for (unsigned x : seq) { cout << x << endl; }
}
int main()
{
seed_seq seed1;
test(seed1);
seed_seq seed2 = { 1701, 1729, 1791 };
test(seed2);
string sstr = "A B C D"; // seed string
seed_seq seed3(sstr.begin(), sstr.end());
test(seed3);
}
seed_seq::size(): 0
seed_seq::param():
Generating a sequence of 5 elements into an array:
505382999
163489202
3932644188
763126080
73937346
seed_seq::size(): 3
seed_seq::param(): 1701 1729 1791
Generating a sequence of 5 elements into an array:
1730669648
1954224479
2809786021
1172893117
2393473414
seed_seq::size(): 7
seed_seq::param(): 65 32 66 32 67 32 68
Generating a sequence of 5 elements into an array:
3139879222
3775111734
1084804564
2485037668
1985355432
Açıklamalar
Bu sınıfın üye işlevleri özel durum oluşturmaz.
Gereksinimler
Üst bilgi:<rastgele>
Ad alanı: std