泛型程序设计 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: 上面的都找不到, 则报错
打开网易新闻 查看精彩图片
打开网易新闻 查看精彩图片
打开网易新闻 查看精彩图片
热门跟贴