一.使用Templates的原因:例如我们要写一个算法,由于类型不同,我们不得不做一下工作.1.使用宏定义代替Templates不利于类型检查. 2.将一些算法放在基类里,以后的扩展的子类都需要充基类继承这些算法,不利于维护和扩展. 3.重复一遍有一遍的根据不同类型写出算法,显然是一个很糟糕的决定. 二.引入模版的定义关键字template,引入类型参数的关键字typename/class尽量用typename,类型参数一般用U,T,V等. 三.在编译过程中并不是把函数模版编译成能处理任何类型的