:
建立一个 " 通用函数 " , 不指定该函数的 函数返回值类型 和 函数参数类型 ,
仅使用 " 虚拟类型 " 代表 上述 两种类型 ,
该 " 通用函数 " 就是 " 函数模板 " ;
2、函数模板意义...如果 函数的 函数体 相同的 函数 , 只是 参数类型 不同 ,
这种情况下 , 可以 使用 " 函数模板 " 替代 定义 " 多个函数参数类型不同 且 函数体相同 的函数 " ;
只需要 定义一个..." 函数模板 " , 传入不同类型的参数 , 返回不同类型的结果 ;
调用 函数模板 时 根据传递的 参数类型 来生成对应的具体函数实现 , 根据 实际实参类型 取代 形参的虚拟类型 , 从而实现不同的函数功能...一般情况下使用的是 前者 ;
② 定义函数模板 : 编写 函数 , 参数的 返回值类型 或 参数类型 , 可以 使用之前使用 template 定义的泛型 进行替换 , 如下示例 :
// 定义函数模板...int c = add(a, b);
自动类型 推导 : 该用法不常用 , 调用 函数模板 时 , 直接传入参数 , 不 显式声明 泛型类型 , 让 C++ 编译器自动推导泛型类型