封装c++随机数生成器
Encapsulate c++ Random Number Generator
我正在构建一些需要我
template<D>
class DistributionAdapter {
public:
/**
* @return number generated by the distribution function.
*/
virtual D operator()(RANDOM_NUMBER_GENERATOR& rng) = 0;
};
RANDOM_NUMBER_GENERATOR应该代表c++中的随机数生成器类,可以是std::random_device或伪随机数生成器。有人能告诉我我应该如何处理这个,我不知道如果随机数生成器在c++有一个共同的基础类型
标准第§26.5.1.3节描述了对随机数生成器的要求。
特别是,生成器必须支持函数调用操作符:g() T返回一个闭合区间内的值[g::min(), g::max()]。平摊常数
因此,尽管没有每个单独的生成器共享的基类,但标准保证operator()
将出现在每个生成器中:您可以在函数中调用rng()
。
你问的不是很清楚,但这是一个相当容易使用的函数,返回在特定范围内均匀分布的随机整数。
#include <random>
// random number generator from Stroustrup:
// http://www.stroustrup.com/C++11FAQ.html#std-random
int rand_int(int low, int high)
{
static std::default_random_engine re {};
using Dist = std::uniform_int_distribution<int>;
static Dist uid {};
return uid(re, Dist::param_type{low,high});
}
相关文章:
- 为什么随机数生成器不在void函数中随机化数字,而在main函数中随机化
- 制作具有平均值的随机数生成器
- C++ 随机数生成器:尝试将结果作为向量获取,但通过制作 void 函数来执行此操作而出现错误
- 尝试在 c++ 中创建随机数生成器并收到错误
- 存储并重新加载随机数生成器状态
- 作为随机数生成器的争用条件
- 播种随机数生成器以使用分叉的好方法是什么?
- 随机数生成器的性能因平台而异
- 随机数生成器的种子和状态有什么区别?
- RcppShark 随机森林示例引发有关随机数生成器的异常
- C++多个实例的随机数生成器组种子中增强
- C++随机数生成器仅生成 0 - C++ 11
- GSL+OMP:C++中的线程安全随机数生成器
- 贪吃蛇游戏 - 食物瓷砖的随机数生成器
- 随机数生成器在 C++ 用于 skipList.
- RSA 加密和解密期间的随机数生成器要求
- 如何使用 cpp 设置随机数生成器的语法?
- 产生相同结果的随机数生成器
- C++随机数生成器通常在 Visual Studio 中运行程序时在 2 次后停止生成数字
- 如何理解C++11随机数生成器