我正在使用 boost 累加器从 C++ 中的双精度向量中获取统计信息。每次我需要一个新的统计数据时,我都会调用一个自定义方法,通过创建累加器来获取它,用向量值加载它,最后使用 boost statistic 函数,例如。
double Entity::min(void) {
accumulator_set< double, features< tag::min > > acc;
// Now load the vector into the accumulator.
acc = std::for_each( samples.begin(), samples.end(), acc );
// Specify namespace to avoid name clash of this min method
this->_min = boost::accumulators::min(acc);
return this->_min;
}
// etc. more methods for StdDev, mean, max etc.
我的问题是:每次以不同方法创建累加器是否都会重复(加上)向量内存要求?我知道我可以编写一个“getStatstics”方法来一次获取它们,但我特别想知道每次创建和加载累加器时是否使用至少与原始向量一样多的内存。
多谢你们
皮特