用户登录
用户注册

分享至

C++模板 · 为什么要引入模板机制?

  • 作者: 领导先上
  • 来源: 51数据库
  • 2021-08-25

  刚学过类模板时,很不理解,甚至觉得这简直没有用,在自己骗自己嘛!明明很方便的东西,偏偏要加个类模板来回折腾。可能因为我们刚开始写的程序很简单,有时候,可能程序复杂一点,对理解一些概念更有帮助。

  今天在网上发现了一篇很好的文章,特此摘录。

- 模板的概念

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

  举例理解:

//函数1
int max(int a, int b)
{
    return (a>b ? a : b);
}

//函数2
float max(float a, float b)
{
    return (a>b ? a : b)
}

//函数3
double max(double a, double b)
{
    return (a>b ? a : b)
}

  但在主函数中,如果我们定义了char a, b; 使用max()函数时,程序就会出错,因为我们没有定义char类型的重载版本。

  如果我们重新审视上述的max()函数,它们具有同样的功能——求两个变量的最大值。能否只写一套代码来解决这个问题呢?当然可以,所以c++引入了模板机制。 

 

 

下一篇:c++模板:函数模板的写法

 

软件
前端设计
程序设计
Java相关