c++模板的使用
1.模板分为函数模板和类模板
2.函数模板
2.1 函数模板的认识
函数模板是C++中泛型编程的基础,它允许我们编写一种通用的函数,该函数可以处理多种不同类型的数据,而不需要为每种类型都重写一个函数。
2.2 基本语法
template<typenam T, ......> 函数体。(template和class都可以用)
template <typename T>
T max(T a, T b) {
return (a > b) ? a : b;
}
这里一个函数就解决了不同类型参数的调用。
下面是模板参数的匹配原则:
3.类模板
3.1类模板的定义格式
template<class T1, class T2,......)(也可以用typename)
class 类名
{
}
注意:模板要把声明和定义放在一个头文件,不建议分开放。
4.模板特化
4.1 函数模板特化
为了按照我们的要求进行合理化比较所以下面对int*指针类型专门进行了特化,让他按照原有的值去比较,而不是指针大小。
5.类模板特化
5.1 全特化
全特化即是将模板参数列表中的所有参数都确定化。