通过使用模板,您可以:
-
创建可操作任何类型的数据的 typesafe 集合类(如堆栈)。
-
为采用 void 指针的函数添加额外的类型检查。
-
封装运算符重写组以修改类型行为(如智能指针)。
其中的大多数用途无需模板即可实现;但模板提供了以下好处:
-
模板更易于编写。您只需创建类或函数的一个泛型版本,而不是手动创建专用化。
-
由于可通过模板直接提取提取信息,因此模板更易于理解。
-
模板是类型安全的。由于模板操作的类型在编译时是已知的,因此编译器可以在发生错误之前执行类型检查。
使用模版在处理以下四类问题有其独特的优点。