C++11的function bind回调机制
来源:互联网 发布:ai设计软件下载 编辑:程序博客网 时间:2024/06/06 23:35
#include <functional>
using namespace std::placeholders;
1.可以提前声明函数类型:function< 返回值 ( 参数列表) > 函数名;
function< int (int, double, string) > fn
也可以不用声明类型直接bind前面:auto fn = bind( ....)
函数参数的对应:
以实际函数的参数对应声明的位置:
int test(double, string, int)
fn = bind(test, _2, _3, _1) -->test参数的第一个类型double,对应于function的_2位置,
也可设置常量参数,fn = bind(test, 3.5, "hello", 6);
2.bind类的成员函数时:
bind(&A::print, &a, ...)
#include <iostream>#include <string>#include <functional>using namespace std;using namespace std::placeholders;void test(int i, double d, const string &s){ cout << "i= " << i << " d= " << d <<" s= " << s << endl;}int test1(int i, double d, const string &s){ cout << "i= " << i << " d= " << d <<" s= " << s << endl; return i;}int main(int argc, const char *argv[]){ function<void( void )> fp; string s = "foo"; int a = 3; double b = 6.7; fp = bind(&test, a, b, s); fp(); function <void (int , const string&)> fp1; double b2 = 4.6; fp1 = bind(test, _1, b2, _2); fp1(4, "kity"); function <int (int , const string&) > fp2; fp2 = bind<int>(test1, _1, b2, _2); int y = fp2(4, "kity"); cout << y << endl; auto fn = bind(test, 10, 23.3, "heko");//不用function指定函数参数, fn(); auto ff = bind(test, _1, _3, _2);//bind中的i参数类型与test的_j的参数类型对应 ff(12, "ppp", 12.5); class A { public: void print(int a, double x) { cout << a << " " << x << endl; } }; A a3; auto fclass= bind(&A::print, &a3, 11, 7.7); fclass(); return 0;}
0 0
- 【C++】bind+function的回调机制
- C++11的function bind回调机制
- 对比基于boost::function/bind和AS3 Function回调机制
- [C++]C++11:Function与Bind
- C++11关于function、bind的详解
- C++11的bind,bind1st,bind2nd,function
- std::bind绑定器、std::function、extern C的使用
- C++11 学习笔记 std::function和bind绑定器
- C++11 笔记 std::function,bind绑定器和lambda
- boost::function/bind 的使用
- function adapter bind(C++11)
- 现代C++的回调技术--使用std::bind和std::function
- C++_std::bind std::function 高级用法
- c++:使用function模板和bind函数
- [C++] boost::function boost::bind 与 回调
- C++11 中std::function和std::bind的用法
- C++11 中std::function和std::bind的用法
- Function bind
- 全局变量 局部变量
- ZOJ 1654 (经典二分构图题)
- 网站排版
- 深入理解javascript原型和闭包(8)——简述【执行上下文】上
- 我的emacs配置
- C++11的function bind回调机制
- 虚函数表的实现细节
- 翻译:Laravel-4-Generators 使用自定义代码生成工具快速进行Laravel开发
- Selenium api使用说明
- java 线程 被互斥阻塞、检查中断示例讲解----thinking java4
- nginx负载均衡
- C++的输入和输出与标准输出流
- JAVA socket编程实例(标注)
- 获得android手机屏幕的宽高的类