【发布时间】:2015-10-31 19:17:31
【问题描述】:
我有一个vector 的真实值:
vector<double> values;
还有一个discrete_distribution:
discrete_distribution<size_t> dis(values.begin(), values.end());
但现在我需要将double 值的向量变成结构向量:
struct Data
{
double value;
int index;
};
vector<Data> values;
如何在不将值复制到单独的vector 的情况下构建相应的discrete_distribution?
【问题讨论】:
-
discrete_distribution中的模板参数必须是整数。 -
@101010 你的意思是像
int,为什么? -
有一个有效类型列表,
size_t不是其中之一。也就是说,在几乎所有平台上,size_t是一种受支持类型的 typedef,但这并不能使代码严格正确。 en.cppreference.com/w/cpp/numeric/random/discrete_distribution