自C++11以来,C++标准每3年修订一次。C++14/17均可以说是更完整的C++11;即将到来的C++20也已经特性完整了。html
C++11已经有好几年了,它的年龄比我接触C++的时间要长10倍不止吧(如今已经不到了)。我固然没有体会过在C++11标准发布以前用C++编程是什么感觉,但相比我在上MOOC时使用的C++03标准,C++11中lambda表达式的语言特性以及 std::function 与 std::bind 等设施是十分方便的。同时,标准库中的仿函数等也是与这些特性密不可分的。然而,其中一些特性的实现不可思议(曾经我甚至觉得 std::function 与编译器内部存在某些联系),也难以理解,因此我要写这个系列的文章。编程
这一系列文章介绍 <functional> 头文件的实现,主要围绕C++11标准展开,并伴有少许更新标准的内容。app
因为 <functional> 中涉及到不少其余的特性,我会在文章中简要介绍它们的使用,并在文章结尾处附上相关文章连接。函数
文章连接:post
成员指针与mem_fn指针
还有一个 std::function 的扩展,有空写。咕咕咕……code
相关资料:
[1] function/bind的救赎(上)(没有下篇;此文写于2010年,boost与TR1中已有 std::function ,但C++11还未发布)
待补充……