1) 模板是重用源代码的利器
C#、Java都有原始类Object,所有的类都继承于它,C++没有。
原因是:
l 主要是C++不是纯粹的面向对象的语言,要兼容于C;而且考虑到多态的效率问题;
l 另外一个原因是,可用C++模板来解决一些公共Object的问题。比如,容器类的实现,C#、Java可保存Object指针,而C++可用模板实现任意类型的保存。
(C++是强类型语言,不像Python等,弱类型不需要模板)
2) 模板声明和实现一般放在同一头文件中
模板定义比较特殊,放在头文件中,被多个文件以include方式包含进去,不会出现重定义的编译错误。