C++模板的思想早在十年前就产生了。并于1990年被加入到”Annotated C++ Reference Manual”(即”ARM”)中(见[EllisStroustrupARM]),并且,在这之前,模板已经在一些专业刊物上被描述过。然而,几乎十年过后,我们才发现对于这个如此令人目眩神迷的、复杂并且强大的C++特性,竟然缺少一本著作来集中阐述它的基本概念和高级技术。我们想要解决这个问题,于是决定写这本关于模板的书(或许我这样说有点不够谦虚^_^)。
然而,我们的确完成了这个任务,来自不同背景并有着不同的想法的一些人参加了这本书的写作。David,一个经验丰富的编译器开发人员,同时也是C++标准委员会语言核心工作组的一员,乐于对模板的所有强大能力(和问题)作出精确并且细致的描述。Nico,一个”普通”的程序员,同时也是C++标准委员会语言库工作组的一员,乐于以一种”堪为己用并从中受益”的方式去理解所有关于模板的技术。此外,我们都愿意将这些知识与你们(读者和整个C++社团)分享,以避免对C++模板的误解、混淆或者恐惧。
因此,你不但会看到概念性的介绍(辅以例子),同时也会看到对于模板的精确行为方式的详细描述。从掌握模板的基本原则开始,逐渐达到”模板编程的艺术”的境地,你会发现(或者重新发现)诸如静态多态(static polymorphism)、policy类、元编程(metaprogramming)和表达式模板(expression templates)等技术。你也会获得对于C++标准库的更深入的理解,因为在C++标准库中几乎所有的代码都涉及到模板。
在撰写这本书的过程中,我们学到了许多东西,也获得了许多乐趣。我们希望你在阅读此书的时候也会拥有和我们同样的体会。Enjoy!
本文地址:http://com.8s8s.com/it/it28152.htm