美文网首页
function可调用对象模版类

function可调用对象模版类

作者: wilkingwang | 来源:发表于2018-02-07 17:52 被阅读0次

一、std::function介绍     

     std::function可调用函数对象模版类是一个函数包装器模版,该函数包装器模版能包装任何类型的可调用元素,如普通函数、函数指针、函数对象、普通函数模版、普通、成员函数、静态成员函数、静态成员函数模版等。包装器对象可以拷贝,包装器类型仅仅依赖于其调用特征,而不依赖于可调用元素自身的类型。

二、std::function定义

     template< class R, class... Args >

     class function;

     参数说明:

          R:调用函数返回值的类型

          Args:函数参数类型

三、使用详解

     1、可调用元素

图1 普通函数 图2 类成员函数 图3 类模版

  2、将std::function绑定到可调用元素

          1)绑定到普通函数

图4 绑定普通函数到可调用对象模版类

          2)绑定到函数模版

图5 绑定函数模版到可调用对象模版

          3)绑定到lambda表达式

图6 绑定lambda到可调用对象模版

          4)绑定到函数对象

图7  绑定函数对象到可调用对象模版

         5)绑定到类模版函数对象

图8 绑定类模版函数对象到可调用对象模版

          6)绑定到静态成员函数

图9 绑定静态成员函数到可调用对象模版

          7)绑定到静态成员模版函数

图10 绑定静态成员模版函数到可调用对象模版

          8)绑定到成员函数(this指针,不预绑定)

图11 绑定成员函数到可调用对象模版

          9)绑定到成员模版函数(this指针,不预绑定)

图12 绑定成员函数到可调用对象模版

四、详细代码参考

链接:https://pan.baidu.com/s/1qZbbKNM 密码:anm9

参考:

感谢:http://blog.csdn.net/xf_zhen/article/details/52224139

相关文章

  • function可调用对象模版类

    一、std::function介绍 std::function可调用函数对象模版类是一个函数包装器模版,该函数...

  • C++11——重载操作与转换

    function类模版 function是一个模版。与我们使用的其他模版一样,当我们创建一个function类型时...

  • std::function与std::bind

    1、std::function是可调用对象的包装器,可以实现延时调用。 std::funcion可以将类方法及类强...

  • 六、函数对象、谓词概念、内建函数对象

    1.函数对象的概念 重载函数调用操作符的类,其对象常称为函数对象(function object),即它们是行为类...

  • 用函数对象表示策略

    函数对象:调用操作符的类,其对象常称为函数对象(function object),即它们是行为类似函数的对象...

  • 《JavaScript 设计模式》脱水版

    面向对象 链式调用 在原型上添加方法//类式定义//**区别**Function.prototype.addMet...

  • this的指向

    this的指向分为四大类: 一:作为对象的方法调用 二:作为普通函数调用 三:构造器调用 四:Function.p...

  • 【高级特性】43、面向对象:类的定义与调用

    目录一、什么是类二、定义类三、调用类 一、什么是类 类(class)是对象的模版,封装了对应现实实体的性质和行为 ...

  • 函数对象

    函数对象 如果一个类定义了调用运算符,则该类的对象称作函数对象(function object)。 含有状态的函数...

  • 对象方法和类方法

    -对象方法 +类方法 调用对象方法必须先创建对象,在通过对象来调用。 类方法不依赖对象,使用对象名直接调用。 类方...

网友评论

      本文标题:function可调用对象模版类

      本文链接:https://www.haomeiwen.com/subject/uwsazxtx.html