accumulate通常用于容器的累加求和:
vector<int> a{1,2,3,4,5}
int sum = accumulate(a.begin(),a.end(),0);
结果sum为:15
其中,函数中第一个参数为需要累加的容器开始位置,第二个参数为结束位置,第三个参数为累加的初始值,还有第四个参数可为函数的累加方式 (类似于sort函数的比较方式函数cmp)
也可用作连接字符串:
vector<string> a{"hello","world","!"};
string str = accumulate(a.begin() , a.end() , string("") ) ;//这里累加的初始值不能写成""
结果str为:"helloworld!"