C++11程序设计要点总结-模板机制详解
2024-08-30 16:56:00
C++程序设计要点总结
在编程的过程中呢我们总会遇到一些各种各样的问题,就比如在写方法的时候,我们一个同样的方法要写好几种类型的呢,这让我们很伤脑筋,但是呢C++有一个强大的功能就是模板机制,这个模板机制就可以让我们少写很多同样的代码,那么什么是模板呢,。我们举一个小例子吧!比如我们要去写交换函数,那么我们正常的写法是
void swap(int&a,int&b)
{
int temp=a;
a=b;
b=temp;
}
这样写大家都可以看懂,但是却有一个问题,我们现在写的只是交换int类型的值那么这样写很简单么,那么我们如果要交换一个double类型的值呢,我们在写一个double类型的swap函数么。
void swap(double&a,double&b)
{
double temp=a;
a=b;
b=temp;
}
这样写的话太麻烦了,如果我在想交换一个float类型的呢,char类型的呢,难道我要一个一个定义么,这个时候我们模板的作用就体现出来了。
既然要讲模板那么我们首先讲的是模板怎么定义模板的定义其实很简单,就像变量的定义方法一样,但是和变量不同的是他是在<中定义的>废话不多说我们来看看案例吧!
.template<typename name> //这是第一种的定义方法
.template<class name> //这是第二种的定义方法
那么上面这两种有什么区别呢,我给你们简单的概括一下,这里面的class是可以变成任何类型,就比如说我们自己定义的类结构体共同体等等等等,typename就是基本数据类型,那么什么是基本数据类型呢,就是我们的int,char,string既然讲到这里了,那么我们写一个案例吧!
template<typename type>
void swap(type&a,type&b)
{
type temp=a;
a=b;
b=temp;
}
既然讲完了定义那么定义后的这个方法怎么使用呢,其实使用起来也是很简单的,和正常函数一样传参就好了,他会自己去匹配
int a = , b = ;
swap(a,b);
cout << a << "\t"<<b << endl;
ps:使用必看
1.如果只有一个像上面的type那个swap一样的话那么你要注意一点,就是a和b的类型必须一样,不然他不知道识别什么。
2.使用模板的时候我们并不是一成不变的只能定义一个,其实我们可以像定义变量一样的定义它,使用逗号隔开即可。
最新文章
- Jenkins+SVN+tomcat持续集成发布
- [原创.数据可视化系列之五]韩国";萨德";系统防御图
- python 异常含义
- SVN操作手册
- HTML5 文件API(一)
- 教你50招提升ASP.NET性能(十六):把问题仍给硬件而不是开发人员
- 关于System.Collections空间
- php开发环境配置 web UI模板
- KVM硬件辅助虚拟化之 EPT(Extended Page Table)
- 基于支持向量机的车牌识别-- opencv2.4.7+vs2012环境搭建
- 在CDlinux下编译安装无线网卡驱动
- 浙大pat 1029题解
- 小机器人自动回复(python,可扩展开发微信公众号的小机器人)
- VS Code 常用命令记录
- WPF界面假死
- Golang入门教程(四)变量声明
- 【mongoDB高级篇①】聚集运算之group与aggregate
- 谷歌Cookies无法写入
- ORACLE创建数据库时无法创建目录
- JS实现让滚轮控制网页头部显示与隐藏