C++ Functor仿函数
创始人
2024-11-14 18:05:03
0

Functor 对象模拟函数

把类对象,像函数名一样使用。

仿函数(functor),就是使一个类的使用看上去像一个函数。其实现就是类中实现
一个 operator(),这个类就有了类似函数的行为,就是一个仿函数类了。

operator() 语法格式

class 类名 {     返值类型 operator()(参数类型)         函数体 } 
#include  #include  using namespace std;  class Pow { public:     //仿函数     double operator()(double a, int b){         double result = 1;         for(int i=0;i

functor 的优势

functor 的优势在于,是对象形式,可以携带更多的的信息,用于作出判断。 比如,我们可以在对象初始化的时候,传入参数来决定状态,而不用去修改原代码。 

functor使用示例

#include  #include  #include  using namespace std;  //局限性较大 bool myCompare(int a, int b){     return a < b; }  //仿函数,可以携带更多参数 class Compare{ public:     Compare(bool flag=true):flag(flag){}     bool operator()(int a, int b){         if (flag==true)             return a < b;         else             return a > b;     } private:     bool flag; };  int main(){     int arr[] = {3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5};      vector vi(arr, arr+11);     sort(vi.begin(), vi.end(), Compare(false));  //c98的写法 //    vector::iterator itr; //    for(itr=vi.begin();itr!=vi.end();++itr){ //        cout<<*itr<<" "; //    }      //c++11的写法     for(auto itr=vi.begin();itr!=vi.end();++itr){         cout<<*itr<<" ";     }      //c++17的写法 //    for(auto i : vi){ //        cout<

相关内容

热门资讯

WPK透视辅助!德州局脚本,w... WPK透视辅助!德州局脚本,wpk德州局透视(切实是有挂)1、超多福利:超高返利,海量正版游戏,wp...
微扑克透视辅助!pokemmo... 微扑克透视辅助!pokemmo辅助器手机版下载,hhpoker开挂教程(一贯是真的有挂)1、微扑克透...
WPK透视辅助!扑克之星辅助,... WPK透视辅助!扑克之星辅助,wepoker辅助是真的假的(真是真的有挂)wepoker辅助是真的假...
wpk透视辅助!hhpoker... wpk透视辅助!hhpoker是内部控制吗,wepoker破解工具(好像真的有挂)1、hhpoker...
微扑克透视辅助!hhpoker... 微扑克透视辅助!hhpoker德州透视,xpoker透视辅助(好像真的是有挂)1)hhpoker德州...
微扑克透视辅助!黑侠破解wep... 微扑克透视辅助!黑侠破解wepoker,wepoker辅助分析器(切实是有挂)1、首先打开wepok...
wpk透视辅助!aapoker... wpk透视辅助!aapoker怎么设置抽水,大菠萝手游辅助(总是真的有挂)运aapoker怎么设置抽...
wpk透视辅助!wepoker... wpk透视辅助!wepoker软件辅助程序,wepoker辅助器安装包定制(其实是有挂)小薇(辅助器...
微扑克透视辅助!aapoker... 微扑克透视辅助!aapoker怎么提高中牌率,hhpoker软件安装包(确实真的有挂)1、进入游戏-...
WPK透视辅助!wepoker... 您好,wepoker透视器免费这款游戏可以开挂的,确实是有挂的,需要了解加去威信【485275054...