1. typedef
和typename
typedef
:定义类型别名typename
:可用在模板中,功能与class
一样,或者告诉编译器后面紧跟着的是个类型名
2. qualified name和dependent name
1). qualified name
例如:std::cout, std::endl;这样含有作用域符号(::)的就是限定名,
当我们用using声明将cout,endl引入到当前作用域之后就可以直接使用
这两个名称,这个时候cout,endl就不是限定名了。
2). dependent name
dependent name是依赖于模板参数的类型
参考:C++中typename用法