十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
[TOC]
在望花等地区,都构建了全面的区域性战略布局,加强发展的系统性、市场前瞻性、产品创新能力,以专注、极致的服务理念,为客户提供网站制作、网站设计 网站设计制作按需定制制作,公司网站建设,企业网站建设,品牌网站建设,网络营销推广,成都外贸网站制作,望花网站建设费用合理。
当我们实现一个交换函数时,我们可以写成如下。
void Swap(int& x, int& y)
{
int tmp = x;
x = y;
y = tmp;
}
这里只能交换两个整数,当我们一会需要实现两个字符交换时,我们有需要重新写个函数,然而两份代码有很多相同的部分,这样是不是很麻烦。假如我们只需要写一份代码便可以实现不同类型的交换,是不是很棒。是的,这个编译器已经帮我们设计好了,这就是所谓的泛型编程。
模板是泛型编程的基础,所谓泛型编程就是编写与类型无关的逻辑代码,是一种复用的方式。模板分为模板函数和模板类。
template< class 形参名1, class 形参名2, class 形参名n>
返回类型 函数名(参数列表)
{...}模板形参的定义既可以使用class,也可以使用typename,含义是相同的。
刚刚的Swap函数就可以用模板函数搞定了。
template
void Swap(T& x, T& y)
{
T tmp = x;
x = y;
y = tmp;
}
看看是不是可以进行多种类型交换,测试结果:
这样我们的顺序表和链表就可以实现任意类型的程序了。