在一个 C + + 头文件中,我看到这段代码:
typedef typename _Mybase::value_type value_type;
现在,据我所知,引用“ C + + 完整参考文献”由席尔特。typename
可以被关键字类取代,typename
的第二个用途是通知编译器模板声明中使用的名称是类型名称而不是对象名称。
类似地,可以使用关键字 typedef
定义新的数据类型名称
实际上是创建一个新的数据类型,而是为现有的
类型。
但是,您能否准确地解释上面这行代码的含义,其中 typedef
和 typename
是组合在一起的。声明中的“ ::
”意味着什么?