为什么要有模板(templates):当我们需要一个列表(list),列表中元素可能都为X类型也可能都为Y类型,怎么来实现呢? 定义基类?可以实现,很多情况下可能不够简明的表达设计思想 克隆代码(写一段X关于list的定义,再写一段Y关于list的定义)但是后期无法统一对其管理 做一个void*类型的list,缺点是类型不安全 比较好的解决方案就是Templates 函数模板:是一种模板,用来做出函数,比如sort排序函数.swap交换函数等等 类模板:也是一种模板,用来做出类,比如list.m…