【发布时间】:2014-01-07 14:39:32
【问题描述】:
我看过C++入门书,看不懂下面的代码:
typedef typename std::vector<int>::size_type size_type;
你能帮我解释一下typename在这里的用法吗?
【问题讨论】:
-
它称为依赖类型,typename关键字是一个语法消歧器,用于区分函数声明。已经有很多关于它的问题。 stackoverflow.com/questions/610245/…
-
注意这里完全没必要。
-
明确一点:您确实不需要在这里需要
typename。你会在template <class T> struct Foo { typedef typename std::vector<T>::size_type size_type; };中需要它