头文件:numeric 接受参数个数:三个
#include <iostream>
#include <vector>
#include<numeric>//注意包含头文件
using namespace std;
void test()
{
vector<int> v = {1,2,3,4,5,6};
cout << accumulate(v.begin(), v.end(), 0) << endl;
}
int main()
{
test();
system("pause");
return 0;
}
accumulate的第三个参数的类型决定了函数中使用哪种加法运算符以及返回值的类型
注意:序列中元素的类型必须与第三个参数匹配,或者能够转换为第三个参数的类型。 上例中,v中的元素可以是int或者是double,long long或任何其他可以加到int上的类型
#include <iostream>
#include<numeric>//注意包含头文件
#include<string>
#include<vector>
using namespace std;
void test()
{
vector<string> v = { "I"," ","want"," ","go"," ","back"," ","to"," ","past" };
cout << accumulate(v.begin(), v.end(), string(""));
}
int main()
{
test();
system("pause");
return 0;
}
注意:不能将空串当做一个字符串字面值传递给第三个参数,会导致一个编译错误
原因:
总结: