设为首页 加入收藏

TOP

C++中的bind函数讲解
2017-11-23 08:31:41 】 浏览:256
Tags:bind 函数 讲解

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返回的函数其实是一个不需要参数的函数对象,因此说明只能允许参数个数少的函数对象可以赋值给参数个数较多的函数对象,前提是参数类型都匹配.

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

应该是这么回事.

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

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇c、c++字符串相关讲解 下一篇C++ Primer之内存模型和名称空间..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目