在 C++ 头文件中,我看到了以下代码:
typedef typename _Mybase::value_type value_type;
现在,据我所知,引用Schildt的《C++ 完整参考》。typename
可以用关键字class代替,第二个用途typename
是通知编译器模板声明中使用的名称是类型名称而不是对象名称。
同样,您可以使用关键字定义新的数据类型名称typedef
。您实际上并没有创建新的数据类型,而是为现有类型定义了一个新名称。
不过,能不能具体解释一下上面这行代码是什么意思,在哪里typedef
和typename
结合在一起的。语句中的“”是什么意思::
?