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<

相关内容

热门资讯

专业了解!微乐四川麻将辅助器(... 专业了解!微乐四川麻将辅助器(辅助)指牌屋亲友版切实真的有辅助修改器(哔哩哔哩)1、微乐四川麻将辅助...
关于了解!随意玩透视科技游戏(... 关于了解!随意玩透视科技游戏(辅助)龙焱互娱都是真的是有辅助脚本(哔哩哔哩)1、下载好随意玩透视科技...
了解了解!微信途游辅助器(辅助... 了解了解!微信途游辅助器(辅助)奕趣本来存在有辅助安装(哔哩哔哩)1、每一步都需要思考,不同水平的挑...
详情了解!新天道挂机辅助(辅助... 详情了解!新天道挂机辅助(辅助)魅影其实真的有辅助平台(哔哩哔哩)1、新天道挂机辅助透视辅助软件激活...
解谜了解!小程序家乡大二辅助工... 解谜了解!小程序家乡大二辅助工具(辅助)掌中乐本来真的是有辅助安装(哔哩哔哩);1、上手简单,内置详...
辅助了解!天天卡五星辅助器(辅... 辅助了解!天天卡五星辅助器(辅助)中至万年麻将切实真的是有辅助app(哔哩哔哩)1、辅助了解!天天卡...
揭露了解!新上游修改器(辅助)... 揭露了解!新上游修改器(辅助)玄龙二厅原来存在有辅助下载(哔哩哔哩)新上游修改器辅助器是一种具有地方...
关于了解!心悦填大坑技巧分析器... 关于了解!心悦填大坑技巧分析器(辅助)325互动真是有挂辅助安装(哔哩哔哩)1、进入到心悦填大坑技巧...
揭幕了解!黑科技辅助器(辅助)... 揭幕了解!黑科技辅助器(辅助)新豪派一直真的是有辅助插件(哔哩哔哩)一、黑科技辅助器可以开透视的定义...
曝光了解!椰岛常胜游戏辅助器苹... 曝光了解!椰岛常胜游戏辅助器苹果(辅助)新世界其实是真的辅助挂(哔哩哔哩)进入游戏-大厅左侧-新手福...