函数绑定器
来源:互联网 发布:mac用的办公软件 编辑:程序博客网 时间:2024/06/17 19:51
函数绑定器不能绑定重载函数,无法识别。
仿函数又叫函数绑定器 主要是把一个类的成员函数当成一个普通函数使用。
/* 仿函数又叫函数绑定器 主要是把一个类的成员函数当成一个普通函数使用。 注:绑定时无法进行函数重载。*/#include<iostream>#include<functional>using namespace std;using namespace std::placeholders;//占位struct MyStruct{void show1(){cout <<"show1" << endl;}void show2(int a){cout << a << endl;}void show3(int a,int b){cout << a <<" "<<b << endl;}};void main(){MyStruct ms;ms.show2(10);//在 vs2015中可以编译,版本不同。vs2015默认是C++14//cout << typeid(ms.show).name() << endl; // “MyStruct::show”: 函数调用缺少参数列表;请使用“&MyStruct::showcout << typeid(&MyStruct::show1).name() << endl; //函数原型的地址//这是C中的函数指针赋值方式,但是在C++中可以这样写,但是却无法 调用void(MyStruct::*p)(int a) = &MyStruct::show2;//MyStruct::p(10);//无法调用//绑定时无法进行函数重载。auto fun1 = bind(&MyStruct::show1, &ms);fun1();//使用默认值auto fun2 = bind(&MyStruct::show2, &ms, 11);fun2();//_1:一个参数auto fun21 = bind(&MyStruct::show2, &ms,_1);fun21(22);//_1,_2:二个参数auto fun3 = bind(&MyStruct::show3, &ms, _1,_2);fun3(33, 66);//设置一个默认值auto fun31 = bind(&MyStruct::show3, &ms, 33,_1);fun31(66);//设置二个默认值auto fun32 = bind(&MyStruct::show3, &ms, 33,66);fun32();cin.get();}
0 0
- 函数绑定器
- 函数绑定
- 函数指针与函数模板及函数绑定器
- 成员函数适配器与绑定器
- C++值函数绑定器bind2nd
- Virtual函数(动态绑定)
- session 绑定函数
- JavaScript函数绑定
- boost::bind 函数绑定
- javascript函数绑定
- 绑定与虚函数
- javascript中的函数绑定
- js事件绑定函数
- JavaScript函数绑定
- bind函数绑定
- es6 javascript 函数绑定
- bind函数绑定
- 函数指针动态绑定
- 使用AllTDTLayer在810libs下的问题
- 模版笔记002 - 类模版
- [LeetCode]--49. Group Anagrams
- 【!!!非专业严肃文章】《C++Primer Plus》第一次复习总结(1~4章)【一】
- MyCat简易配置
- 函数绑定器
- Monkey总结(三)
- 请求Requst中获取访问请求的客户端IP
- php通过mht文件方式生成带图片的word文档
- birt 显示源sql调试
- courseras NN_for_ml系列(lecture 2 )
- 单例对象的释放
- tomcat https访问配置
- Linux 缺少动态链接库