gpt4 book ai didi

c++ - 如何使用 double[] 初始化 boost::random::discrete_distribution;

转载 作者:太空狗 更新时间:2023-10-29 23:08:22 24 4
gpt4 key购买 nike

我想像这样用 double[] 初始化 boost::random::discrete_distribution:

boost::random::discrete_distribution<>* distribution(double* _distr)
{
return new boost::random::discrete_distribution<>(_distr);
}

我知道我可以使用 vector 或静态大小的表,但有没有一种方法可以在不重写我的 _distr 的情况下克服这个问题?

最佳答案

discrete_distribution<>不能拿普通的 double*参数,因为它无法知道数组的长度。

相反,它需要一个迭代器范围,但您必须指定数组中元素的数量:

boost::random::discrete_distribution<>* distribution(double const* distr,
std::ptrdiff_t count)
{
return new boost::random::discrete_distribution<>(distr, distr + count);
}

像往常一样,这在 the documentation 中已经很清楚了。 .

关于c++ - 如何使用 double[] 初始化 boost::random::discrete_distribution;,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9933921/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com