刚学过类模板时,很不理解,甚至觉得这简直没有用,在自己骗自己嘛!明明很方便的东西,偏偏要加个类模板来回折腾。可能因为我们刚开始写的程序很简单,有时候,可能程序复杂一点,对理解一些概念更有帮助。
今天在网上发现了一篇很好的文章,特此摘录。
- 模板的概念
模板是实现代码重用机制的一种工具,它可以实现类型参数化, 即把类型定义为参数,从而实现了真正的代码可重用性。模板可以分为两类:一个是函数模板,一个是类模板。
举例理解:
//函数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++模板:函数模板的写法
原文地址:https://www.cnblogs.com/t11383/p/9703472.html
时间: 2024-11-07 18:39:26