typedef typename std::vector<T>::size_type size_type;
C++ primer 16.1.2出现了上面的声明,不是很理解,遂google之,发现其实typename是和后面的std::vector<T>::size_type是一个整体,目的是为了告诉编译器,这是一个类型,而不是一个普通的类的成员函数。
在VS2015环境下,不加typename,编译器也能检查出std::vector::size_type是一个类型。
参考:https://stackoverflow.com/questions/20674738/how-to-use-typename-in-c