12.1 模板简介
优质
小牛编辑
136浏览
2023-12-01
本章介绍 C++ 最强大的特性之一 —— 模板。模板使我们可以用一个代码段指定一组相关(重载)函数(称为模板函数)或一组相关类(称为模板类)。
我们可以对数组排序函数编写一个函数模板,然后 C++ 自动生成模板函数,可以对 int 数组、float 数组和字符串数组等等进行排序。
第3章介绍了函数模板。如果读者没有阅读该章,则这里再提供一些介绍和例子。
我们可以对堆栈类编写一个类模板,然后让 C++ 自动生成如 int、float 和 string 堆栈类的类模板。
注意区分函数摸板与模板函数:函数模板和类模板像是具有各种形状的模板,而模板函数和模板类则相当于按照模板描绘,其形状都是相同的.只是画上不同的颜色。
软件工程视点 12.1
模板是 C++ 的软件复用的功能之一。
本章介绍一些函数模板和类模板的例子,并介绍模扳与其他C++特性(如重载、继承、友元和 static 成员)之间的关系。
这里介绍的模扳机制的设计和细节基于 Bjarne Stroustrup 的论文《Parameterized Types for C++》,发表于1988年10月在科罗拉多州丹佛举办的 USENIX C++ 会议上(Proceedings of the USENIX C++ Conference)。
本章只是关于模板问题的简介,第20章“标准模板库(STL)”将深入介绍模板容器类、迭代器和STL算法。第20章有几十个基于摸板的“有生命力的代码”,演示了更复杂的模板编程技术。