@H_301_1@
①修饰模板参数,说明它是一个类型.此时可以用class关键字来代替.@H_301_1@
②修饰嵌套依赖类型名@H_301_1@
关于第②点要说明如下:@H_301_1@
1. 依赖类型名: 一个模板中的 依赖于一个模板参数的名字.@H_301_1@
2. 嵌套依赖类型名: 嵌套在一个类内部的一个依赖类型名@H_301_1@
比如:@H_301_1@
std::list<T>@H_301_1@
首先,它是一个依赖于模板参数的类型,所以它是一个依赖类型名@H_301_1@
其次,它也是一个嵌套在std内部的类型,所以它是 嵌套依赖类型名,需要用typename来修饰.如下:@H_301_1@
typename std::list<T> m_lstT;@H_301_1@
记住:@H_301_1@
在涉及到一个模板中的嵌套依赖类型名的任何时候,都必须把typename放在紧挨着它的前面.@H_301_1@