C++模板的使用
2021/11/21 9:10:32
本文主要是介绍C++模板的使用,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
1、什么是模板
模板最大的作用就在于可以建立一个通用的架构提高代码的复用性,就比如我们在网上下载的PPT模板就可以使用外观把内容更换成我们自己的内容。
2、函数模板(也叫泛型编程)
C++提供两种模板机制:函数模板和类模板
2.1 函数模板的语法
作用:建立一个通用模板,函数返回值类型可以在使用时指定。
语法:
1 template<typename T> //模板函数的申明
template:申明创建模板
typename:表明后面的符号是一种数据类型,也可用class代替
T:数据类型名称,可以用其它字母替换。
比如有两个函数实现方法一样只是函数参数类型不一样
1 void swapInt(int &a, int &b) //整数交换 2 { 3 int temp = a; 4 a = b; 5 b = temp; 6 } 7 void swapDouble(double &a, double &b) //浮点数交换 8 { 9 double temp = a; 10 a = b; 11 b = temp; 12 }
如果使用模板就不需要定义两个函数,在使用函数的时候再定义函数的类型
在指定函数时可以使用函数推导或显示指定函数类型
1 //函数模板语法 2 template<typename T> 3 4 void Swap(T &a, T &b) 5 { 6 T temp = a; 7 a = b; 8 b = temp; 9 } 10 void test01() 11 { 12 int a = 10; 13 int b = 20; 14 //Swap(a, b); //自动类型推导 15 //显示指定类型 16 Swap<int>(a, b); 17 cout << a << endl; 18 cout << b << endl; 19 20 }
总结:
- 函数模板利用关键字 template
- 使用函数模板有两种方式:自动类型推导、显示指定类型
- 模板的目的是为了提高复用性,将类型参数化
3、使用函数模板的注意事项
- 自动类型推导时必须推导出数据的一致性T才能使用
- 模板必须确定出T的数据类型才能使用(即使没用使用数据类型T)
1 int a = 10; 2 int b = 20; 3 char c = 'c'; 4 //显示指定类型 5 Swap<int>(a, c); //传入数据类型不一致可能会报错
1 template<typename T> 2 void func() 3 { 4 cout << "func()函数调用" << endl; 5 } 6 void test01() 7 { 8 func<int>(); //当使用了模板即使没有用到数据类型T时在使用时也必须传入一个数据类型才能调用。 9 10 }
这篇关于C++模板的使用的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-10-07fastcgi 是什么-icode9专业技术文章分享
- 2024-10-07fastcgi 的详细使用教程介绍-icode9专业技术文章分享
- 2024-10-07git如何更新单个文件到本地-icode9专业技术文章分享
- 2024-10-07如何使用ASM(Abstract Syntax Tree Manipulation)技术来修改第三方AAR依赖中的函数-icode9专业技术文章分享
- 2024-10-07Activity 跳转时间耗时很长怎么优化解决-icode9专业技术文章分享
- 2024-10-07Androud Toast 有哪些常用的第三方组件-icode9专业技术文章分享
- 2024-10-07在viewmodel中怎么使用 mmkv?-icode9专业技术文章分享
- 2024-10-07MMKV.defaultMMKV() 是单例模式吗?-icode9专业技术文章分享
- 2024-10-04el-table 开启定时器下,表格的选中状态会消失是什么原因-icode9专业技术文章分享
- 2024-10-03如何安装和初始化飞牛私有云 fnOS?-icode9专业技术文章分享