当前位置: 代码迷 >> 综合 >> 01, 什么是模板?
  详细解决方案

01, 什么是模板?

热度:28   发布时间:2024-01-24 07:41:19.0

C++ 模板进阶

 

什么是模板?

 

做甜点的模具,只需要按压就可以做出大量甜点。 (模具相同 材料颜色不同)

 

场景:我想写整、单、双浮点的求和函数?

 

int sum(int a,int b){return a + b;}
float sum(float a,float b){return a + b;}
double sum(double a,double b){return a + b;}

三个函数提·1除了类型不一样,其他的完全一样,代码冗余,能否一个函数完成上面三个函数的功能?

 

提高程序员的生产率的一个非常有效的方法就是“代码复用”。

 

面相对象的复用方案 继承 组合 多态

并不能完全指南满足实际编程中对于代码复用的全部要求!

 

模板就是实现代码重用机制的一种工具,它可以实现类型参数化,即把类型定义为参数,从而实现了真正的代码重用。

 

模板关键字

template  typename /class

 

模板与宏很类似

 

  1. 宏是在预处理阶段处理,模板是在编译阶段处理。
  2. 宏不会进行类型检查,只会单纯的进行文本替换,模版会进行类型检查。
  3. 宏直接就可以产生代码,而编译器遇到模板定义时,并不产生代码,只有当模板实例化后才会产生代码。

 

 

  相关解决方案