uniform_int::operator()
devuelve un valor aleatorio.
template<class Engine>
result_type operator()(Engine& eng);
template<class Engine>
result_type operator()(Engine& eng, result_type n);
Parámetros
Engine
El tipo de motor aleatorio.eng
el motor aleatorio.n
el límite superior por valores aleatorios.
Comentarios
La primera función miembro utiliza el motor eng como origen de valores enteros uniformemente distribuidos y devuelve los valores enteros con cada valor i en el intervalo cerrado [min(), max()] que aparece con el exterior igual de probabilidad y valores que van produciendo con la probabilidad 0.
La segunda función miembro utiliza el motor eng como origen de valores enteros uniformemente distribuidos y devuelve los valores enteros con cada valor i en el intervalo entre abierto [0, n) que aparece con el exterior igual de probabilidad y valores que van produciendo con la probabilidad 0.
Ejemplo
// 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);
}
Requisitos
encabezado: <aleatorio>
espacio de nombres: std