在看c++ primer的時候見到了一下這種用法:c++
typedef typename std::vector<int>::size_type size_type;
以爲這裏面的typename特別使人費解。最後找到了下面這篇問題,感受寫的很清楚:spa
http://feihu.me/blog/2014/the-origin-and-usage-of-typename/code
具體細節文章裏面都寫到了。簡單說來,以上的語句效力等同於:blog
typedef std::vector<int>::size_type size_type;
不過文章裏面關於「限定名」"name"這些詞彙定義依然有點模糊,本身理解好像是指類型而非變量名稱。get