1、泛型编程
C++的另一种编程思想称为泛型编程,主要利用的技术就是模板;
C++提供两种模板机制:函数模板和类模板
函数模板
建立一个通用函数,其函数返回值类型与形参类型不具体制定,而是用一个虚拟的类型来代表
使用函数模板:①自动类型推导 直接像调用函数一样,传入实参即可,编译器自动推导出实参的类型 ②显示指定类型 函数名<实参类型>传入实参值
普通函数和函数模板的调用规则
- 如果函数模板和普通模板都可以实现,优先调用普通函数
- 可以通过空模板参数列表(函数名<>实参)来强制调用函数模板
- 函数模板也可以发生重载
- 如果函数模板可以产生更好的匹配,则优先调用函数模板(如普通函数需要强制类型转换时)
类模板
基本语法和函数模板差不多,无非就是模板参数列表中多加了几个模板类型