自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::function 的扩展,在参赛结束后会写一篇文章来介绍。

相关资料:

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

待补充……

最新文章

  1. ca 自签名证书 并实现HAProxy https功能
  2. codeIgniter 文件路径的问题
  3. js-函数eval
  4. Neo4j Cypher运行示例
  5. 20145317《Java程序设计》实验三
  6. 表设计VIso
  7. linux下搭建svn服务器
  8. DWZ框架学习一
  9. 16.按要求编写Java应用程序。 编写一个名为Test的主类,类中只有一个主方法; 在主方法中定义一个大小为50的一维整型数组,数组名为x,数组中存放着{1, 3,5,…,99}输出这个数组中的所有元素,每输出十个换一行;在主方法中定义一 个大小为10*10的二维字符型数组,数组名为y,正反对角线上存的是‘*’,其余 位置存的是‘#’;输出这个数组中的所有元素。
  10. kafka java使用
  11. 201521123070 《JAVA程序设计》第13周学习总结
  12. Linux shell编程:状态变量
  13. 常识判断-科技-day123
  14. 使用pm2 管理node服务后台运行
  15. Java IO流01-总叙
  16. computer、methods和watch
  17. 汇编 do while循环
  18. React Native开发之IDE(Atom+Nuclide)安装,运行,调试
  19. 7.7 Models -- Working with Records
  20. HashMap 和 HashTable 到底哪不同 ?

热门文章

  1. Tensorflow object detection API(1)---环境搭建与测试
  2. 【多线程与并发】Java中的12个原子操作类
  3. 三大框架 之 SSH整合
  4. ubuntu16.04和ubuntu18.04安装dlib
  5. Android从5.0到9.0版本的主要变更
  6. 让remix使用本地文件系统
  7. vue的vuex在使用...mapState 和...mapGetter报错的解决方案
  8. Flutter AspectRatio、Card 卡片组件
  9. Android输入法遮挡了输入框,使用android:fitsSystemWindows=&quot;true&quot;后界面顶部出现白条解决方案
  10. 算法习题---5-3卡牌游戏(UVa10935)