誰幫忙解釋一下這段代碼具體啥意思?
accumulate()不是只有三個引數嗎?這個地方應該怎么理解?
accumulate(v.begin(), v.end(), 1, multiplies<long>());
uj5u.com熱心網友回復:
http://blog.csdn.net/sprintwater/article/details/7392415http://blog.csdn.net/zhuxianjianqi/article/details/7487866
確實有4個引數的用法,但是不知道意思
uj5u.com熱心網友回復:
// accumulate example
#include <iostream> // std::cout
#include <functional> // std::minus
#include <numeric> // std::accumulate
int myfunction (int x, int y) {return x+2*y;}
struct myclass {
int operator()(int x, int y) {return x+3*y;}
} myobject;
int main () {
int init = 100;
int numbers[] = {10,20,30};
std::cout << "using default accumulate: ";
std::cout << std::accumulate(numbers,numbers+3,init);
std::cout << '\n';
std::cout << "using functional's minus: ";
std::cout << std::accumulate (numbers, numbers+3, init, std::minus<int>());
std::cout << '\n';
std::cout << "using custom function: ";
std::cout << std::accumulate (numbers, numbers+3, init, myfunction);
std::cout << '\n';
std::cout << "using custom object: ";
std::cout << std::accumulate (numbers, numbers+3, init, myobject);
std::cout << '\n';
return 0;
}
uj5u.com熱心網友回復:
第4個引數是系統自帶的乘法函式,第3個引數與容器中的每個元相乘,然后將所有的積累加轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/114443.html
標籤:基礎類
上一篇:檔案操作
