频道栏目
首页 > 资讯 > C++ > 正文

C++中的bind函数讲解

17-11-22        来源:[db:作者]  
收藏   我要投稿

1.概述

function是C++11中对于函数,函数指针,函数对象,lambda表达式等可调用函数的汇总,bind函数将一个普通函数或者成员函数转化为可给function对象赋值的对象,使用这两个函数可以实现C++通用意义上的回调和委托机制.

2.bind 函数返回的函数对象赋值给function对象时的要求是,返回值一定要相同,参数类型需要相同,参数个数需要小于等于function函数对象的参数个数.

#include 
#include 
#include 
using namespace std;

class Foo{
public:
    typedef function Callback;
    void methodA(){
        cout<<"foo methoda"<

此时编译通过,但此时bind返回的函数其实是一个不需要参数的函数对象,因此说明只能允许参数个数少的函数对象可以赋值给参数个数较多的函数对象,前提是参数类型都匹配.

至于为什么这样设计,将参数少的绑定到参数多的函数中,那么在回调该函数的时候,只需要将不需要的参数丢掉,即可. 如果相反的话,那么会因为需要的参数不够而不能够回调..

应该是这么回事.

结论是参数少的可以绑定到参数多的上面.

相关TAG标签
上一篇:JAVA单例设计模式代码教程
下一篇:Web Service 的创建简单编码、发布和部署(C#实例)
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站