uniform_int::operator()
Zwraca wartość losowe.
template<class Engine>
result_type operator()(Engine& eng);
template<class Engine>
result_type operator()(Engine& eng, result_type n);
Parametry
Engine
Typ silnika losowe.eng
Losowe silnika.n
Górna granica wartości losowych.
Uwagi
Pierwsza funkcja Członkowskie używa aparatu eng jako źródła rozproszone jednolicie integralną wartości i zwraca wartości integralną z każdą wartością i w zakresie zamknięty [min(), max()] występujących z równym prawdopodobieństwem i wartości poza ten zakres występujących z prawdopodobieństwem 0.
Druga funkcja Członkowskie używa aparatu eng jako źródła rozproszone jednolicie integralną wartości i zwraca wartości integralną z każdą wartością i w zakresie półotwartych [0, n) występujących z równym prawdopodobieństwem i wartości poza ten zakres występujących z prawdopodobieństwem 0.
Przykład
// std_tr1__random__uniform_int_operator_fn.cpp
// compile with: /EHsc
#include <random>
#include <iostream>
typedef std::mt19937 Myeng;
typedef std::uniform_int<unsigned int> Myceng;
int main()
{
Myeng eng;
Myceng ceng(1, 1 << 15);
Myceng::input_type engval = eng();
Myceng::result_type compval = ceng(eng);
compval = compval; // to quiet "unused" warnings
engval = engval;
std::cout << "min == " << ceng.min() << std::endl;
std::cout << "max == " << ceng.max() << std::endl;
ceng.reset(); // discard any cached values
std::cout << "a random value == " << ceng(eng) << std::endl;
std::cout << "a random value == " << ceng(eng) << std::endl;
std::cout << "a random value == " << ceng(eng) << std::endl;
return (0);
}
Wymagania
Nagłówek: <random>
Obszar nazw: std