C++ Primer 5th笔记(chap 16 模板和泛型编程)模板类型别名

Posted thefist11

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C++ Primer 5th笔记(chap 16 模板和泛型编程)模板类型别名相关的知识,希望对你有一定的参考价值。

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>

以上是关于C++ Primer 5th笔记(chap 16 模板和泛型编程)模板类型别名的主要内容,如果未能解决你的问题,请参考以下文章

C++ Primer 5th笔记(chap 16 模板和泛型编程)std::move

C++ Primer 5th笔记(chap 16 模板和泛型编程)模板特例化

C++ Primer 5th笔记(chap 16 模板和泛型编程)类模板特例化

C++ Primer 5th笔记(chap 16 模板和泛型编程)实例化

C++ Primer 5th笔记(chap 16 模板和泛型编程)可变参数模板

C++ Primer 5th笔记(chap 16 模板和泛型编程)模板实参