【发布时间】:2021-10-10 18:38:59
【问题描述】:
我想知道是否可以使用accumulate() 执行向量求和直到特定索引。示例
vector<int> v ={1,2,3,4,5,6};
int sum = accumulate(v.begin(), till_index_4, 0);
我找到的所有示例都说accumulate(v.begin(), v.end(), 0); 我也尝试使用迭代器,但我的代码没有编译。如果有任何可能的解决方案,请告诉我。
【问题讨论】:
-
“也尝试了迭代器,但我的代码没有编译”你能告诉我们那个代码吗?
-
参数不是索引而是迭代器。您实际上只需要包含 1 或 2 行代码和错误消息,以使其更容易回答
-
std::accumulate不知道您提供的数据来自vector<int>。它适用于由两个迭代器描述的范围。所以只要给它你感兴趣的范围的迭代器。 -
accumulate(v.begin(), v.begin() + 4, 0);是我认为您要的吗?该代码假定范围是有效的。
标签: c++ accumulate