博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
bind原理图释
阅读量:6293 次
发布时间:2019-06-22

本文共 618 字,大约阅读时间需要 2 分钟。

(原文:http://blog.think-async.com/2010/04/bind-illustrated.html)

本文解释了bind 是如何工作的。为了清晰,我对图中的语法作了一些简化(例如,省略函数调用操作符的参数类型),并且简化了 bind 的实现.

1. bind 可以用来将用户提供的需要一个参数的函数转换成不需要参数的函数对象。绑定的值(在这个例子中是123)存储在函数对象内并且会被自动传递给用户指定的函数:

 

 

2. 参数绑定也可以用于将类成员函数转换成零参数的函数对象。猿类们都知道,非静态成员函数需要一个隐式的 this 参数。这意味着需要绑定一个合适的类实例指针到这个函数对象:

3. 相应地,隐式的 this 指针也可以显式地传递给需要一个参数的函数对象:

4. 函数对象经常同时使用提前绑定的参数和调用时才提供的参数。这个可以用成员函数来实现:

 

5. 当然也可以使用非成员函数:

 

6. 有些时候函数对象被调用时会提供多余的参数,而这些参数是目标函数不需要的。bind 会自动忽略这些多余的参数:

7. 这些多余的参数不需要一定在函数对象签名的最后:

 

8. 最后, bind 还允许重新组织函数对象的参数顺序:

 

 

 

posted on
2014-04-29 12:49 阅读(
...) 评论(
...)

转载于:https://www.cnblogs.com/xusd-null/p/3698969.html

你可能感兴趣的文章
使用MDT部署Windows Server 2003 R2
查看>>
Redhat as5安装Mysql5.0.28
查看>>
通过TMG发布ActiveSync
查看>>
Web服务器的配置与管理(4) 配置访问权限和安全
查看>>
sql注入之order by猜列数问题
查看>>
ASP.NET 2.0中如何连接到Mysql(转)
查看>>
检查mysql当前状态
查看>>
将域用户加入本地power user组的脚本
查看>>
python range()内建函数
查看>>
Git 远程分支的pull与push
查看>>
tomcat误报
查看>>
Android开发笔记——常见BUG类型之内存泄露与线程安全
查看>>
oracle active data guard概述
查看>>
网络管理员基础
查看>>
myeclipse文件目录自动定位(右编辑界面点击 左边Package Explorer导航自动定位)...
查看>>
React源码学习——ReactClass
查看>>
电脑爱好者GHOSTWIN764位V4.0
查看>>
MYSQL——常用运算符和函数
查看>>
JS获取上传文件的大小
查看>>
Shell脚本调用mysql语句
查看>>