Partager via


uniform_int::operator()

Retourne une valeur aléatoire.

template<class Engine>
    result_type operator()(Engine& eng);
template<class Engine>
    result_type operator()(Engine& eng, result_type n);

Paramètres

  • Engine
    Le type du moteur aléatoire.

  • eng
    Le moteur aléatoire.

  • n
    La limite supérieure pour les valeurs aléatoires.

Notes

La première fonction membre utilise le moteur eng comme une source de valeurs intégrales régulièrement distribuées et retourne des valeurs intégrales avec chaque valeur i dans la plage fermé [min(), max()] se produire à l'extérieur de la probabilité et de valeurs cet intervalle qui se produisent avec la probabilité 0.

La deuxième fonction membre utilise le moteur eng comme une source de valeurs intégrales régulièrement distribuées et retourne des valeurs intégrales avec chaque valeur i dans la plage entrouvert [0, n) se produire à l'extérieur de la probabilité et de valeurs cet intervalle qui se produisent avec la probabilité 0.

Exemple

 

// 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); 
    } 
 
  

Configuration requise

en-tête : <random>

l'espace de noms : DST

Voir aussi

Référence

<random>

uniform_int Class