template
class Test
{
public :
T t;
.....
};
随着模板应用的推广,大家发现使用typedef非常关键,因为实例化后的模板定义通常很长,通过使用typedef可以有效的缩短代码长度。如:
class UseTest
{
public:
typedef Test
...
};
这时问题就来了,当我写UseTest::intTT,这个intTT究竟是UseTest的一个静态成员(static)还是一个类型呢?所以typename关键字就引入了C++。
所以在定义一个intTT的对象时,我们就要这样写:
typename UseTest::intTT int_tt_obj;
通过typename明确指出intTT是一个类型而不是一个静态成员。
C++中的typename关键字(想哪儿说哪儿)
没有评论:
发表评论