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<

相关内容

热门资讯

研究成果!椰子大厅辅助脚本,椰... 研究成果!椰子大厅辅助脚本,椰子大厅辅助脚本,普及教程(有挂分享)是一款可以让一直输的玩家,快速成为...
重大通报!微乐自建房脚本最新版... 您好,微乐自建房脚本最新版本更新内容这款游戏可以开挂的,确实是有挂的,需要了解加微【48527505...
透视软件!桃乐甘肃麻将辅助软件... 透视软件!桃乐甘肃麻将辅助软件(辅助挂)果然有开挂辅助平台(有挂详细)暗藏猫腻,小编详细说明桃乐甘肃...
信息共享!牛总管怎么做辅助(辅... 《信息共享!牛总管怎么做辅助(辅助挂)一向有开挂辅助工具(有挂透明挂)》 牛总管怎么做辅助软件透明挂...
2024教程!新道游正版作弊微... 2024教程!新道游正版作弊微信辅助,三哥玩辅助,2025新版教程(有挂总结)是一款可以让一直输的玩...
实操分享!微信小程序微乐辅助免... 实操分享!微信小程序微乐辅助免费,广东雀神智能插件安装价格,必胜教程(有挂助手);实操分享!微信小程...
玩家必知教程!边锋辅助(辅助挂... 玩家必知教程!边锋辅助(辅助挂)往昔有开挂辅助神器(有挂方式);是一款可以让一直输的玩家,快速成为一...
2024教程!四川游戏家园修改... 2024教程!四川游戏家园修改器(辅助挂)一贯有开挂辅助脚本(新版有挂)1、玩家可以在四川游戏家园修...
最新技巧!皇豪互娱科技,火神工... 最新技巧!皇豪互娱科技,火神工作室辅助大全,详细教程(有挂技巧);1、最新技巧!皇豪互娱科技,火神工...
透视透视挂!在哪里下载微乐自建... 透视透视挂!在哪里下载微乐自建房辅助软件,广东雀神智能插件官网,高科技教程(有挂存在);致您一封信;...