什么是C++模板?

来源:百度知道 编辑:UC知道 时间:2024/06/06 13:48:46
谢谢

在c++中有如下语句
int a;
char b;
long c;
float d;
像上面的 int, char, long, float 被称为“类型”。
有时需要将“类型”也做为参数来处理,比如,要写一个比较大小的函数 comp(x,y)
如果是两个int型比较就返回一个int类型的值,如果是两个float型比较就返加一个float型结果,当然可以用函数重载来实现,但利用函数模板就只要写一个函数
template<class T>
T comp(T x,T y)
{
return x>y?x:y;
}
其中template<class T>就是声明将T作为一个类型参数
和以下重载的函数比较一下
int comp(int x,int y)
{
return x>y?x:y;
}
float comp(float x,float y)
{
return x>y?x:y;
}
简单的说, 模板 就是一个函数或类模板可以解决不同类型的问题

、模板是一种工具。使用它会给程序员编写大规模的软件带来方便。因为使用模板可以使程序员建立具有通用类型的函数库和类库。模板也是C++语言支持参数化多态性的工具。将一段程序所处理的对象类型参数化,就可以使这段程序能够处理某个类型范围内的各种类型的对象,这就是参数化多态性。被参数化的一段程序将会处理一定范围内的若干种不同类型的对象,即对于一定范围内的若干不同类型的对象的某种操作将对应着一个相同结构的实现。而模板这种工具就是用来解决这个问题的。