C++模板编程
815 浏览 5 years, 11 months
0 前言
版权声明: 转载请注明出处 http://www.codingsoho.com/C++不仅提供了面向对象程序设计的语言支持,还提供了泛型编程(generic programming)的语言支持。根据前面的讨论,泛型编程的目的是编写可重用的代码。在C++中,泛型编程的基本工具是模板。尽管从严格意义上说,模板并不是一个面向对象的特性,但模板可与面向对象编程结合使用,从而产生强大的作用。很多程序员认为模板是C++中难度最高的一部分,而且因此尽量避免使用模板。
本章列出了满足前面讨论的一般性设计原则所需的编码细节,以及讨论标准模板库时用到的编码细节。下一章深入讨论一些更高级的模板特性,包括:
- 3种类型的模板参数以及差别
- 部分特例化
- 函数模板推导
- 利用模板递归
- 可变参数模板
- 元编程