C++ STL 支持多种函数和模板,以不同的方式解决问题。
C++ STL std::accumulate() 函数
std::accumulate() 函数用于累加所有的值range [first, last]
包括任何变量initial_sum
。
累积函数 do 的默认操作是将所有元素相加,但可以执行不同的操作。
accumulate() 函数的语法:
accumulate(start, end, initial_sum);
这里,
start
:是迭代器的初始位置end
: 是迭代器的最后一个位置。
注意:还可以在累加函数中传递一个附加参数,该参数指定要执行的操作类型。
带有附加参数的 accumulate() 函数的语法:
accumulate(start, end, initial_sum, func);
这里,func
是要执行的附加操作。
C++程序演示std::accumulate()函数的例子
#include <bits/stdc++.h>
#include <vector>
using namespace std;
int main()
{
// Initialization of vector
vector<int> vec{1,2,3,4,5,6,7,8,9};
// Taking initial sum as 0
int sum = 0;
cout << "\n Initial value of sum = " << sum << endl;
// Demonstration of accumulate function
// to sum all the elements of the vector
sum = accumulate(vec.begin(), vec.end(), sum);
cout << " Value of sum after accumulate = " << sum << endl;
// Changing value of initial_sum to 50
sum = 50;
cout << "\n Initial value of sum = " << sum << endl;
// Demonstration of accumulate function
// with the additional argument
// Here additional argument is used to
// subtract all the elements from the
// initial sum. Additional argument can be
// any valid function or operation
sum = accumulate(vec.begin(), vec.end(), sum, minus<int>());
cout << " Value of sum after accumulate function with optional argument = " << sum << endl;
return 0;
}
输出
Initial value of sum = 0 Value of sum after accumulate = 45 Initial value of sum = 50 Value of sum after accumulate function with optional argument = 5
相关用法
- C++ std::all_of()用法及代码示例
- C++ std::add_volatile用法及代码示例
- C++ std::add_const用法及代码示例
- C++ std::advance用法及代码示例
- C++ std::add_cv用法及代码示例
- C++ std::add_lvalue_reference用法及代码示例
- C++ std::allocator()用法及代码示例
- C++ std::adjacent_difference用法及代码示例
- C++ std::adjacent_find用法及代码示例
- C++ std::max()用法及代码示例
- C++ std::string::push_back()用法及代码示例
- C++ std::less_equal用法及代码示例
- C++ std::is_member_object_pointer模板用法及代码示例
- C++ std::copy_n()用法及代码示例
- C++ std::string::insert()用法及代码示例
- C++ std::is_sorted_until用法及代码示例
- C++ std::iota用法及代码示例
- C++ std::numeric_limits::digits用法及代码示例
- C++ std::string::data()用法及代码示例
- C++ std::is_permutation用法及代码示例
注:本文由纯净天空筛选整理自 std::accumulate() function with example in C++ STL。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。