打开网易新闻 查看更多视频

泛型程序设计 Generic Programming 算法实现时不指定具体要操作的数据的类型 泛型 — 算法实现一遍 , 适用于多种数据结构 优势: 减少重复代码的编写 大量编写模板, 使用模板的程序设计

函数模板

类模板

函数模板为了交换两个int变量的值, 需要编写如下Swap函数:

void Swap(int & x, int & y) { int tmp = x; x = y; y = tmp; }

打开网易新闻 查看精彩图片
打开网易新闻 查看精彩图片
打开网易新闻 查看精彩图片
打开网易新闻 查看精彩图片
打开网易新闻 查看精彩图片
打开网易新闻 查看精彩图片
打开网易新闻 查看精彩图片

C++编译器遵循以下优先顺序:

Step 1: 先找参数完全匹配的普通函数(非由模板实例化 而得的函数)

Step 2: 再找参数完全匹配的模板函数

Step 3: 再找实参经过自动类型转换后能够匹配的普通 函数

Step 4: 上面的都找不到, 则报错

打开网易新闻 查看精彩图片
打开网易新闻 查看精彩图片
打开网易新闻 查看精彩图片