- 函数模板特化必须在实例化之前。
- 成员模板函数(MTF)的特化必须在类外,不能使用内联(inline)进行特化。
- 浮点数、类对象(class-type)、内部链接对象(如字符串常量"Hello World",注意:extern char const s[] = "hello"外部链接对象则可以)和全局指针不能作为非类型模板参数。能使用的有:整型或枚举、指针类型(普通指针&函数指针&成员指针)和引用类型(指向对象或函数的引用)。
- 成员函数模板不能被声明为虚函数。
- 如果类模板中含有静态成员,那么用来实例化的每种类型都会实例化这些静态成员(显而易见)。
- GCC中>>中要留个空格,否则,编译器会报错。
- 类模板特化的实现可以和基本类模板的实现完全不一样。
- 类模板可以为模板参数定义缺省值,并且还可以引用前面的模板参数。
- 类模板不能喝另一个实体共享一个名称(显而易见)。
- 非类型模板参数可以借一个确定的数值来产生一种新类型或新函数。
模板使用中的一些规则
原文:http://www.cnblogs.com/AmitX-moten/p/4449014.html