1. 模板类型别名
可以定义一个typedef来引用实例化的类:
eg. typedef Blob StrBlob;
由于模板不是一个类型,我们不能定义一个typedef引用一一个模板。即无法定义一一个typedef引用Blob。
一个模板类型别名是一族类的别名:
template<typename T> using twin = pair<T, T>;twin<string> authors; // authors 是一个pair<string, string>twin<int> win_ loss; // win_ loss 是一个pair<int,int>twin<double> area; // area是一个pair<double, double>
可以固定一个或多个模板参数:
template <typename T> using partNo = pair<T, unsigned>;partNo<string> books; // books 是一个pair<string, unsigned>partNo<Vehicle> cars; // cars是一个pair<Vehicle, unsigned>partNo<Student> kids; // kids 是一个pair<Student, unsigned>