普通函数

int f( int a, int b ){return a + b;}
boost::bind( f, _1, 9 )( 1 )

成员函数

struct demo{int f( int a, int b ){return a + b;}};
demo a, &ra=a;
demo *p = &a;
boost::bind( &demo::f, a, _1, 20 )( 10 )

成员变量

typedef std::pair<int, std::string> pair_t;
pair_t p( 123, "string" );
boost::bind( &pair_t::first, p )();
boost::bind( &pair_t::second, p )();

函数对象

struct sf{int operator()( int a, int b ){return a + b;}};
boost::bind<int>( sf(), _1, _2 )( 11, 22 )

ref库 使用ref库包装对象的引用可以让bind 存储对象引用的拷贝,从而降低了拷贝的代价

变量:int g( int a, int b, int c ){return a + b + c;}
int x = 10;
boost::bind( g, _1, boost::cref( x ), boost::ref( x ) )( 11 );

函数对象:struct sf{int operator()( int a, int b ){return a + b;}};
sf af;
boost::bind<int>( boost::ref( af ), _1, _2 )( 11, 22 );

转载地址:http://blog.csdn.net/huang_xw/article/details/8452785

boost::bind四种应用场景的例子的更多相关文章

  1. web手工项目03-登录功能测试用例及缺陷编写-流程图画法-前后台下单及发货流程图-流程图设计测试用例方法-功能测试涉及到的四种数据库场景

    回顾 注册功能测试(步骤,需求分析(输入分析,处理分析,输出分析),数据构造(有效等价类,无效等价类,有效数据,无效数据),编写用例,执行用例,缺陷报告) 轮播图功能测试(步骤,需求分析拆分测试点,测 ...

  2. [Unity-24] Unity的四种载入场景的方法

    Unity官方提供了4种载入场景(scene)的方法.各自是: 1. Application.LoadLevel():同步载入 2. Application.LoadLevelAsync():异步载入 ...

  3. MyBatis 中 @Param 注解的四种使用场景,最后一种经常被人忽略!

    有一些小伙伴觉得 MyBatis 只有方法中存在多个参数的时候,才需要添加 @Param 注解,其实这个理解是不准确的.即使 MyBatis 方法只有一个参数,也可能会用到 @Param 注解. 但是 ...

  4. Java ExecutorService四种线程池的例子与说明

    1.new Thread的弊端 执行一个异步任务你还只是如下new Thread吗? new Thread(new Runnable() { @Override public void run() { ...

  5. Java 1.ExecutorService四种线程池的例子与说明

    1.new Thread的弊端 执行一个异步任务你还只是如下new Thread吗? new Thread(new Runnable() { @Override public void run() { ...

  6. Java ExecutorService四种线程池的例子与说明(转发)

    1.new Thread的弊端 执行一个异步任务你还只是如下new Thread吗? new Thread(new Runnable() { @Override public void run() { ...

  7. MyBatis 中 @Param 注解的四种使用场景

    https://juejin.im/post/6844903894997270536 第一种:方法有多个参数,需要 @Param 注解 第二种:方法参数要取别名,需要 @Param 注解 第三种:XM ...

  8. jquery.proxy的四种使用场景及疑问

    作者:zccst 其实只有两种使用方式,只不过每一种又细分是否传参. 先给一段HTML,后面会用来测试: <p><button id="test">Test ...

  9. “茴”字有四种写法,this也是一样

    说到这个地方又想起以前高中还是初中学的<孔乙己>这个梗,但是这里的this显然实用性比那个要大很多,哈哈. 简单来说,this有四种应用场景,分别是在构造函数上.对象属性中.普通函数中.c ...

随机推荐

  1. QShareMemory

    Qt提供了一种安全的共享内存的实现QSharedMemory,以便在多线程和多进程编程中安全的使用.比如说QQ的聊天的客户端,这里有个个性头象,当点击QQ音乐播放器的时候,启动QQ音乐播放器(启动一Q ...

  2. 使用java时报的一些错误

    mysql-connector-java报not found的错误 ftp上传文件失败原因 1.mysql-connector-java报not found的错误 在网上查,很容易查找到java连接数 ...

  3. elasticsearch update方法报错: Too many dynamic script compilations within, max: [75/5m]

    PUT _cluster/settings    {        "transient" : {            "script.max_compilations ...

  4. Python3 输入和输出(一)

    1.输出格式美化 Python两种输出值的方式: 表达式语句和 print() 函数. 第三种方式是使用文件对象的 write() 方法,标准输出文件可以用 sys.stdout 引用. 如果希望输出 ...

  5. OpenFOAM 中的边界条件(二)【转载】

    转载链接:http://xiaopingqiu.github.io/2016/04/02/Boundary-conditions-in-OpenFOAM2/ 本篇在上一篇的基础上来解读 OpenFOA ...

  6. elasticsearch bootstrap.memory_lock

    检查bootstrap.memory_lock设置是否生效 get http://10.127.0.1:9200/_nodes?filter_path=**.mlockall 响应: { " ...

  7. TCP和UDP并实现socket的简单通信

    http://www.cnblogs.com/IPrograming/archive/2012/10/15/CSharp_Socket_4.html http://www.cnblogs.com/do ...

  8. 【零基础】神经网络优化之Adam

    一.序言 Adam是神经网络优化的另一种方法,有点类似上一篇中的“动量梯度下降”,实际上是先提出了RMSprop(类似动量梯度下降的优化算法),而后结合RMSprop和动量梯度下降整出了Adam,所以 ...

  9. Linux 端口被进程多次占用,LINUX最好用查看端口占用并杀死(kill)的方式

    一.端口被占用 二.查看进程 三.并杀死占用端口的进程,并重启服务,状体正常 补充: 根据指定端口查看 wd@wd:~/workspace/cat$ sudo netstat -tlnp|grep 6 ...

  10. Flutter移动电商实战 --(44)详细页_首屏自定义Widget编写

    把详细页的图片.标题.编号和价格形成一个单独的widget去引用 详情页的顶部单独封装个插件 在pages下面新建detials_page的文件件并在里面新建页面details_top_area.da ...