返回一个任意值。
template<class Engine>
result_type operator()(Engine& eng);
template<class Engine>
result_type operator()(Engine& eng, result_type n);
参数
Engine
任意引擎的类型。eng
任意引擎。n
随机值的上限。
备注
第一个成员函数使用引擎 eng,统一分配的整数值的源并返回包含每个值 i 的整数值。近距离发生与等于概率和值的外部 [min(), max()] 发生的概率0的范围。
第二个成员函数使用引擎 eng,统一分配的整数值的源并返回包含每个值 i 的整数值在不打开范围发生与等于概率和值的外部 [0, n) 发生的概率0的范围。
示例
// 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);
}
要求
标头: <random>
命名空间: std