C++模板编程


682 浏览 5 years, 4 months

0 前言

版权声明: 转载请注明出处 http://www.codingsoho.com/

C++不仅提供了面向对象程序设计的语言支持,还提供了泛型编程(generic programming)的语言支持。根据前面的讨论,泛型编程的目的是编写可重用的代码。在C++中,泛型编程的基本工具是模板。尽管从严格意义上说,模板并不是一个面向对象的特性,但模板可与面向对象编程结合使用,从而产生强大的作用。很多程序员认为模板是C++中难度最高的一部分,而且因此尽量避免使用模板。

本章列出了满足前面讨论的一般性设计原则所需的编码细节,以及讨论标准模板库时用到的编码细节。下一章深入讨论一些更高级的模板特性,包括:

  • 3种类型的模板参数以及差别
  • 部分特例化
  • 函数模板推导
  • 利用模板递归
  • 可变参数模板
  • 元编程