变量using用来实现模板别名和类型别名,而typedef只能给变量起别名。。
比如 一般是 template<typename first>
using 别名 = 1.模板类,2.模板函数.first的某种形式。
例子:
template< typename first, typename second, int third>
class SomeType;
template< typename second>
using TypedefName = SomeType<OtherType, second, 5>;
template<typename T> using ptr=T*;(这个是将T都形式变了)
ptr<int> a;
a就是一个指向int的指针变量。
我个人觉得,所谓模板别名,也就是将 自己的<>里面的各个类型,传给别的模板(模板类,模板函数),或者 <>里面的各个类型变个形式(first某种形式)。
总之这几种有种说不上来的一致。自己理解。