我的class Something
有char a, float b, float c
。正在从文件中读取值并将其存储为vector <Something> vec
。我想添加对象并最后显示总和。
我将如何做到这一点?
作为一个更具体的例子,它实际上与我正在做的事情有关:
我有class Force
持有char type, float xArg, float yArg
。这些值从文件中读入并存储在vector <Force> f
中。我需要找到该向量中所有力的总和并显示结果。
希望这更好
答案 0 :(得分:3)
将std::accumulate
与自定义累加器一起使用:
std::accumulate(std::begin(vec), std::end(vec), 0.f,
[](auto acc, auto const& something) {
return acc + something.b;
});
答案 1 :(得分:1)
除了使用std::accumulate
之外,您还可以迭代vec
的项目并累积项目中的值。
double sum = 0;
for(auto& item : vec )
{
sum += item.b;
}