是否可以在<random>
库中创建自定义发行版?我想制作一个行为(在界面上)的发行版
std::uniform_int_distribution
std::normal_distribution
...etc
我的意思是说我想做以下事情
std::random_device rd;
std::mt19937 gen(rd());
// Is something like the following possible?
my_custom_distribution dist;
dist(gen);
看起来发行版必须遵循RandomNumberDistribution概念。是否有可能创建一种新型发行版,使其与其他实用程序(即生成器和引擎)“很好地配合”?
最佳答案
最低要求是:
using result_type = ?;
result_type operator()();
static result_type min();
static result_type max();
其中,
result_type
是一些无符号整数型。这是“ UniformRandomBitGenerator”的概念。大多数C ++
<random>
发行版还满足“ RandomNumberEngine”。有关更多详细信息,请参见cppreference或标准。
关于c++ - 创建与C++ 11随机 header 兼容的自定义发行版,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40554448/