模板
模板,顾名思义就是一个样板,可以参照的样式和方法;模板可以用于模板函数和模板类,模板函数可以处理不同类型对象相同的处理,模板类可以对不同类进行相同的处理;
模板函数:
比如交换函数swap函数,有时候需要交换的是int 类型,有时候是double类型,有时候是自定义类型;如果根据不同类型一一去写不同的输入类型,增大代码量,也不方便;如果用到模板函数,则只需定义一次函数,这些都可以使用;
相同类型的转换:
template< typename T> void swap(T t1,T t2)
{
T t0 = t1;
t1 = t2;
t2 = t0;
}
多种类型:
template< typename T1,typename T2,...> void swap(T1 t1,T2 t2,...)
{
//自定义方式
}
模板类:
多用于链表或者其他数据结构;
template< typename T> class List
{
private:
T element;
List *next;
};
使用方式:
List< int > listSize;