模版

函数模板格式:

template <class 形参名1, class 形参名2, class 形参名n>
返回类型 函数名(参数列表)
 {

           ...

   }

模板形参的定义既可以使用class,也可以使用typename,含义是相同的。

模版函数的实例化:

编译器调用模版函数时,编译器会根据传递的参数自动推演出模版形参的类型,并自动生成对应的代码

int double char 是相近类型,支持隐式类型转换

编译器工作原则:

1.找与自己的最匹配的      2.有现成的绝对不会自己生成

模版类:

类模板的格式
template<class 形参名1, class 形参名2, ...class 形参名n>
class 类名
{

     ...

 };

模板的分离编译:

模板总结:


优点:
1. 模板复用了代码,节省资源,更快的迭代开发,C++的标准模板库(STL)因此而产生。
2. 增强了代码的灵活性。
缺点:
1. 模板让代码变得凌乱复杂,不易维护,编译代码时间变长。
2. 出现模板编译错误时,错误信息非常凌乱,不易定位错误。

猜你喜欢

转载自blog.csdn.net/enjoymyselflzz/article/details/81151809