c++accumluate
时间: 2023-11-25 19:05:53 浏览: 71
`std::accumulate` 是 C++ 中的一个算法函数,用于计算给定范围内元素的累加值。它的原型在 `<numeric>` 头文件中声明,并且有多个重载版本。
下面是 `std::accumulate` 的常用重载版本的原型:
```cpp
template<class InputIt, class T>
T accumulate(InputIt first, InputIt last, T init);
template<class InputIt, class T, class BinaryOperation>
T accumulate(InputIt first, InputIt last, T init, BinaryOperation op);
```
第一个版本的 `std::accumulate` 接受一个迭代器范围 `[first, last)` 和一个初始值 `init`,返回所有元素的累加值。
第二个版本的 `std::accumulate` 还接受一个可选的二元操作函数 `op`,用于指定累加操作。这个操作函数将被应用于每一对元素,以计算它们的累加结果。
下面是一个使用 `std::accumulate` 计算数组元素累加和的示例:
```cpp
#include <iostream>
#include <numeric>
int main() {
int arr[] = {1, 2, 3, 4, 5};
int sum = std::accumulate(arr, arr + 5, 0);
std::cout << "Sum: " << sum << std::endl;
return 0;
}
```
输出:
```
Sum: 15
```
在这个示例中,我们使用 `std::accumulate` 计算了数组 `arr` 中元素的累加和,初始值为 0。最终的结果是 15。
阅读全文