函数对象简单使用

来源:互联网 发布:怎么读java源码 编辑:程序博客网 时间:2024/05/18 03:48
/*求个阶乘*/#include<iostream>#include<numeric>                           //包含数值算法的头文件 1、2 #include<functional>                        //包含标准函数对象头对象(利用普通函数来定义函数对象,利用类来定义函数对象可以不用包含) 3using namespace std;/*//利用普通函数来定义函数对象 1int mul(int x,int y){    return x * y;}*//* //利用类来定义函数对象 2class Mul{public:    int operator()(int x,int y){            //重载操作符operator()         return x * y;    }};*/int main(){    int a[5] = {1,2,3,4,5};    const int N = sizeof(a)/sizeof(int);//  cout<<"result is:"<<accumulate(a,a+N,1,mul)<<endl;                  //将普通函数传递给通用算法  1//  cout<<"result is:"<<accumulate(a,a+N,1,Mul())<<endl;                //将类传递给通用算法  2    cout<<"result is:"<<accumulate(a,a+N,1,multiplies<int>())<<endl;    //将标准函数对象传递给通用算法  3    return 0;} 
原创粉丝点击