Your Ad Here
首页 | 编程语言 | 网站建设 | 游戏天堂 | 冲浪宝典 | 网络安全 | 操作系统 | 软件时空 | 硬件指南 | 病毒相关 | IT 认证
软讯网络 > 编程语言 > C/C++ > functor
【标  题】:functor
【关键字】:functor
【来  源】:http://www.cublog.cn/u/1421/showart.php?id=93003

functor

Your Ad Here functionoid可以传递ctor参数,而函数指针则不可以。这有什么用?
freeze-dried partially-completed function-call。先传递部分参数通过构造函数,然后再把剩下的参数通过指针传递,这时系统获得原先传递的,结合本地变量,再结合后续传递的参数,使得函数继续执行。也就是说可以反复地调用这个函数,但是每次传递的后续参数可以不相同。functioniod能够记住从一次调用到下一次调用的信息。类似static?
functionoid的好处之一是可以有不同的参数的函数在同一数组中,这些不同参数的函数需要有至少一个共同的参数。先通过各自的构造函数,把不同的参数部分作为成员变量初始化。在设计各自的同名同参同返回值成员函数,并在调用时传递给它同样的参数。
functioniod可以调用之间维持状态,以一种线程内安全的方式(不太理解)。通过普通的函数指针,可以通过static数据在调用之间维持状态,但是static数据不是线程安全的,它在所有的线程之间共享。将旧的static数据变为functioniod this对象的数据成员,不仅是线程本地的,而且在递归调用时也是安全的。所以funtionoid可以让调用者决定是使用线程本地还是线程全局的数据。
在更多的时候functioniod被称为functors。A functor is an instance of a class or struct that can be treated syntactically as a function. 这句话也许更加形象的说明了functors的作用,一个functor是一个类或者结构的实例,在语法上可以认为是一个函数。
function adaptor是一个允许函数或functors向结合,或是能够进行参数绑定。使得程序更具可读性。
高质量c c++编程 第四 五 六章 [转载来自林锐博士]:【上一篇】
高质量c c++编程三 命名规则 [转载来自林锐博士]:【下一篇】
【相关文章】
  • Use Functor for Callbacks in C++
  • Java中的functor实现
  • Java基础学习:functor的实现
  • Generic Java Functor 发布首个版本
  • 【随机文章】
  • JSP 2.1技术规范投票通过 表达式语言有所改进
  • 泰坦综合布线系统
  • Session是否必须依赖Cookie
  • 《东方时代环球时事解读.时事节简版》 星期五 05年11月11日
  • PS高手速成:十秒钟调亮度
  • 从Vc++2003到Vc++2005
  • 《给初学者的Windows Vista的补遗手册》之065
  • 【原创】Liferay Portal二次开发指南(9)
  • 获得结果
  • FreeHand 菱形渐变
  • 【相关评论】
    没有相关评论
    【发表评论】
    姓名:
    邮件:
    随机码*
    评论*
          
    |  首 页  |  版权声明  |  联系我们   |  网站地图  |
    CopyRight © 2004-2007 bbb软讯网络 All Rigths Reserved.