自C++11以来,C++标准每3年修订一次。C++14/17都可以说是更完整的C++11;即将到来的C++20也已经特性完整了。

C++11已经有好几年了,它的年龄比我接触C++的时间要长10倍不止吧(现在已经不到了)。我当然没有体会过在C++11标准发布之前用C++编程是什么感受,但相比我在上MOOC时使用的C++03标准,C++11中lambda表达式的语言特性以及 std::function 与 std::bind 等设施是十分方便的。同时,标准库中的仿函数等也是与这些特性密不可分的。然而,其中一些特性的实现难以想象(曾经我甚至以为 std::function 与编译器内部存在某些联系),也难以理解,所以我要写这个系列的文章。

这一系列文章介绍 <functional> 头文件的实现,主要围绕C++11标准展开,并伴有少量更新标准的内容。

由于 <functional> 中涉及到很多其他的特性,我会在文章中简要介绍它们的使用,并在文章结尾处附上相关文章链接。

文章链接:

剖析std::function接口与实现

std::bind接口与实现

引用传参与reference_wrapper

成员指针与mem_fn

还有一个 std::function 的扩展,有空写。咕咕咕……

相关资料:

[1] function/bind的救赎(上)(没有下篇;此文写于2010年,boost与TR1中已有 std::function ,但C++11还未发布)

待补充……

最新文章

  1. Java操作属性文件之工具类
  2. [poi2010]Hamsters
  3. FREE 开源 API 管理工具等
  4. mac共享文件给win7用户
  5. 复杂的databinding接受Ilist作为数据源
  6. POJ_2104_Kth_(主席树)
  7. Web分析日志分析2
  8. oracle监听服务开启
  9. php使用PDO方法详解
  10. 利用Tomcat的用户名和密码构建“永久”后门
  11. [置顶] ※数据结构※→☆线性表结构(stack)☆============栈 序列表结构(stack sequence)(六)
  12. JWT(JSON Web Token) 【转载】
  13. jsonp原理及同源策略
  14. C++ 提取网页内容系列之二
  15. 集训总结DAY.1(18.5.22)——KMP
  16. 什么是Web缓存控制(基于HTTP头域)
  17. linuxI/O重定向
  18. WPF 控件被禁用,悬浮提示不显示问题
  19. Android中获取TextView行数
  20. Python开发MapReduce系列(二)Python实现MapReduce分桶

热门文章

  1. Slam笔记I
  2. Contest 155
  3. excel中存储的icount,赋值完之后
  4. Building Applications with Force.com and VisualForce Dev 401-001(一):Introduction
  5. linux-aapt文件调用问题
  6. 《Mathematical Analysis of Algorithms》中有关“就地排列”(In Situ Permutation)的算法分析
  7. Premultiplied Alpha
  8. 3.用IntelliJ IDEA 创建Maven
  9. Kitty-Cloud环境准备
  10. KA 接口表