-
模板的作用:
模板就是建立通用的模具,能够大大提高复用性。
-
模板的特点:
模板不可以直接使用,它只是一个框架。模板的通用并不是万能的。
在c++中除了面向对象的思想外,还有一种编程思想叫做泛型编程,主要利用的技术就是模板。
-
模板的分类:
有两种模板,一个是函数模板,另一个是类模板。
-
函数模板语法:
建立一个通用函数,其函数返回值类型和形参类型可以不具体确定,用一个虚拟的类型来代表。
语法:
模板的本质就是将数据类型参数化,使用模板的前提就是若干段逻辑相同、但数据类型不同的代码,为了降低代码的冗余度,可以将相同
#include <iostream>
using namespace std;
template<typename T>//声明一个模板,告诉编译器后面的代码中T是一个通用数据类型
void myswap(T & a,T &b)
{
T temp = a;
a = b;
b = temp;
}
void test01()
{
int a = 0;
int b = 8;
//利用函数模板交换
//自动类型推导
myswap(a, b);
//显示指定类型
myswap<int>(a, b);
}
int main()
{
system("pause");
return 0;
}
逻辑的代码抽象为模板。
-
函数模板注意事项:
在使用自动类型推导时,必须推导出已知的数据与类型T才可以使用。(也就是说传参时,对于T,要传入相同的类型)
模板必须要要确定除T的数据类型,才可以使用。