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<

相关内容

热门资讯

三分钟熟悉!微扑克辅助器ios... 三分钟熟悉!微扑克辅助器ios(德州ai辅助软件)果然真的有挂(2025已更新)(哔哩哔哩)1、构建...
9分钟黑科技!微扑克挂几个号(... 9分钟黑科技!微扑克挂几个号(透明黑科技)外挂透明挂辅助器(2020已更新)(哔哩哔哩)1、首先打开...
六分钟了解(xpoker)本来... 六分钟了解(xpoker)本来真的有挂(透视辅助)外挂透明挂辅助黑科技(2022已更新)(哔哩哔哩)...
四分钟解密!wepoke真的有... 四分钟解密!wepoke真的有挂,(AAPOKer)其实真的有挂,详细教程(有挂APP)-百度知乎;...
八分钟体悟!wpk俱乐部可以盈... 八分钟体悟!wpk俱乐部可以盈利(wepoke计算辅助)其实真的有挂(2022已更新)(哔哩哔哩)1...
9分钟黑科技!微扑克线上代打工... 9分钟黑科技!微扑克线上代打工具(辅助挂)外挂透明挂辅助神器(2023已更新)(哔哩哔哩)1、微扑克...
今日科普(扑克之城)一贯真的有... 今日科普(扑克之城)一贯真的有挂(黑科技)外挂透明挂辅助器(2025已更新)(哔哩哔哩)1、完成扑克...
1分钟细节!德州微扑克辅助,(... 1分钟细节!德州微扑克辅助,(手机德州)果然真的有挂,必备教程(有挂软件)-今日头条1.德州微扑克辅...
1分钟指导!wopoker辅助... 1分钟指导!wopoker辅助v3.0(德扑之星作弊)都是真的有挂(2020已更新)(哔哩哔哩)1分...
三分钟黑科技!微扑克中牌率(透... 三分钟黑科技!微扑克中牌率(透视辅助)外挂透明挂辅助神器(2021已更新)(哔哩哔哩);微扑克中牌率...