我认为这是一个经典问题,但是我没有找到一个明确的答案(也许我的关键字不是一个好答案)。

假设我具有以下形式的结构(这是我的编程实践中经常出现的情况):

std::vector< pair<unsigned int, double> > pairAgeSize;

我有一个形式的功能:
double getMean(const std::vector<double> & sample);

在元素[pairAgeSize [0] .first,...,pairAgeSize [n] .first]上调用getMean的“最佳”方法是什么?
甚至在[pairAgeSize [0] .second,...,pairAgeSize [n] .second]上?

更普遍地说,是否有任何实用的实践规则可以防止这种情况发生?

最佳答案

getMean应该将迭代器作为输入,使其完全通用,并且您应该编写一个自定义迭代器,该迭代器将返回pair.first

08-18 18:58