有这个 vector
vector<int> v{1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
如何使用 accumulate 计算它的前半部分的总和(即 15)功能?
我可以使用仅带有迭代器(而不是数字索引)的 for 循环来做到这一点吗?
最佳答案
你可以
accumulate(v.begin(), v.begin()+int(v.size()/2), 0)
如果 v
是您的 vector 。
你也可以写一个循环:
int sum = 0;
for (vector<int>::iterator it = v.begin(); it != v.begin+int(v.size()/2); ++it) {
sum += *it;
}
关于c++ - 使用 std::accumulate 计算部分 vector 的总和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13091740/