C++14将通过using声明类型别名扩展到了可以通过using声明模板别名:
#include <iostream>
using namespace std;
template<class T1, class T2>
class A{
public:
T1 t1;
T2 t2;
};
template<class T>
using AI = A<T, int>; //将AI声明为A的别名模板
int main(){
AI<long> a; //相当于A<long, int>
cout<<typeid(a.t1).name()<<endl; //输出:l
cout<<typeid(a.t2).name()<<endl; //输出:i
return 0;
}