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

本文共 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

你可能感兴趣的文章
科技改变未来 物联网痛下决心治电梯吃人
查看>>
在Azure中部署Kubernetes容器集群
查看>>
滨湖区胡埭建智能交通缓解交通压力
查看>>
《深度学习:Java语言实现》一一第2章 机器学习算法——为深度学习做准备
查看>>
坚持做创业护卫队的770天
查看>>
《ANSYS Workbench 14有限元分析自学手册》——导读
查看>>
OC之构造方法
查看>>
AppleWatch开发入门二——界面布局
查看>>
6个你必须用到AJAX的地方与6个不必用到的地方
查看>>
OpenExpressApp 框架结构(2)
查看>>
[总结]无线测试
查看>>
⑫云上场景:筋斗云,基于分布式云服务器的深度挖掘
查看>>
Waiting Auto-INC LOCK导致死锁
查看>>
wake-up signal SIGALRM from alarm() or setitimer(). SIG_DFL & SIG_IGN
查看>>
HTTP/2 对 Web 性能的影响(上)
查看>>
react更新state的时候要返回一个全新的引用或者值
查看>>
flex实战
查看>>
Android 高仿腾讯新闻视频切换效果
查看>>
只有程序员才能看懂的15个瞬间
查看>>
Mybatis入门学习---使用注解开发
查看>>