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

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

- 模板的概念

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

  举例理解:

//函数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++模板:函数模板的写法

最新文章

  1. ASP.NET MVC Anti-XSS方案
  2. ubuntu更新软件源
  3. 如何让linux定时任务crontab按秒执行
  4. cygwin编译环境小记
  5. MySQL 字符串截取相关函数
  6. HDU 5512 Meeting 博弈论
  7. UVA 825 Walkiing on the safe side
  8. unix域套接字UDP网络编程
  9. 记一次小型生产事故 | BeyondComper跨编码方式复制文件内容
  10. linux内核管理
  11. JAVA设计模式之【装饰者模式】
  12. python第九十六天 ---Django(1)
  13. 1088. [SCOI2005]扫雷Mine【网格DP】
  14. matplotlib点线 坐标刻度 3D图绘制(六)
  15. NET设计规范(二) 命名规范
  16. 整数分解为若干项之和 - PAT
  17. intellij idea 15,webstorm 最新注册破解
  18. 程序包com.sun.image.codec.jpeg不存在
  19. 编程提取字符串"Java is a programming language"中的各个单词,并打印输出。
  20. 使用sql语句实现添加、删除约束

热门文章

  1. [Xcode 实际操作]九、实用进阶-(18)图像人脸识别:对图片中的人像进行面部检测
  2. spring框架——依赖注入
  3. .Net Core应用框架Util介绍(一)转
  4. SpringBoot | 启动异常 | 显示bulid success 无 error信息
  5. python连接redis数据库的两种方式
  6. C# 常量与只读属性的区别
  7. 如何查找Oracle某列值相同的字段
  8. ASP.NET页面传值的方法
  9. scrapy安装遇到的Twisted问题
  10. block 应用说明