STL中的accumulate的头文件为#include<numeric>
,
accumulate有三个形参:前两个形参是要累加的元素范围,第三个是累加的初值
数组求和
vector<int> vec(10, 100)
int sum = accumulate(vec.begin(), vec.end(), 0) //结果为1000
int sum = accumulate(vec.begin(), vec.end(), 100) //结果为1100
字符串求和(拼接)
vector<string> vec(3, "abc")
❗这里从空字符串开始,把vec里的每个元素连接成一个字符串
string sum = accumulate(vec.begin(), vec.end(), " ") //结果为 abcabcabc
❗这里从字符串hello开始,把vec里的每个元素连接成一个字符串
string sum = accumulate(vec.begin(), vec.end(), "hello ") //结果为hello abcabcabc