当前位置: 首页 > news >正文

网站关键词怎么写优化用户体验

网站关键词怎么写,优化用户体验,wordpress使用说明,wordpress部分翻译无效前言:哈喽小伙伴们好久不见,这是2024年的第一篇博文,我们将继续C的学习,今天这篇文章,我们来习一下——模版。 目录 一.什么是模版 二.模版分类 1.函数模版 2.类模板 总结 一.什么是模版 说起模版,我们…

前言:哈喽小伙伴们好久不见,这是2024年的第一篇博文,我们将继续C++的学习,今天这篇文章,我们来习一下——模版。


目录

一.什么是模版

二.模版分类

1.函数模版

 2.类模板

总结


一.什么是模版

说起模版,我们都很容易想到套模版这个词汇:给你一个固定的格式,然后按照这个格式去完成你的作品之类的

而我们C++中的模版也确实如此,它包括函数模版和类模版两种,它的格式为:

template<typename/class T1,.......>

void fun(T1 .....)

其中template是定义模版的关键字,而typename和class则是定义模版参数的关键字,二者都可以使用,模版的参数可以不止一个T1就代表一个要套用模版的参数类型而T1并不是固定的写法,而是因为类型的英文为type而一般情况下都默认为T

要注意的是定义模版之后,要使用模版的函数要紧挨定义,二者中间不能有任何其他代码


二.模版分类

1.函数模版

我们经常使用swap交换函数这个简单的函数,但是有一个问题是,普通的函数只能定义单一的参数类型,就算可以使用typedef来重定义在改变类型时我们也需要不断的修改,这依然不是很方便。

所以我们引入了函数模版这个概念,使用函数模版定义的函数,无论传入任意类型的参数,都可以实现其功能

下面我们就以swap交换函数为例来介绍模版的具体用法:

#include<iostream>
using namespace std;
template<typename T>
void Swap(T& a, T& b)
{T temp = a;a = b;b = temp;
}
int main()
{int a = 1;int b = 2;Swap(a, b);cout << a << ' ' << b << endl;double x = 1.1;double y = 2.2;Swap(x, y);cout << x << ' ' << y << endl;}

如上,套用模版的函数,其参数类型即为T,随后在使用时,我们只需要将要交换的数据传入,T便会接收并自动转换为该实参的类型,即可完成不同类型的实参共用一个函数的结果:

但是这样的写法,却只能满足相同类型实参直接的交换,如果想要操作不同类型的实参,则需要模版函数也存在同样数量的参数类型数量:

#include<iostream>
using namespace std;template<typename T1,typename T2>void Add(T1 a, T2 b)
{cout<< a + b <<endl;
}
int main()
{int a = 1;double b = 2.2;Add(a, b);return 0;
}

在调用函数模版时,T1便会接受a的类型,T2则接收b的类型,结果如下:

除此之外,一个模版函数还可以与一个同名的非模版函数同时存在,这类似于函数重载

#include<iostream>
using namespace std;template<typename T1,typename T2>void Add(T1 a, T2 b)
{cout<< a + b <<endl;
}
void Add(int a, int b)
{cout << a + b << endl;
}
int main()
{int a = 1;int c = 2;double b = 2.2;Add(a, c);Add(a, b);return 0;
}

当这种情况存在时,Add函数会默认先去调用非模版参数去判断参数类型是否一致,一致则使用该非模版函数,不一致则去调用模版函数。 


 2.类模板

类模版的写法就和函数模版类似了,其作用都是将一些类型不确定或是经常改变的变量的类型用模版去代替。比如我们实现一个顺序表:

template<typename T>
class Qlist
{
public:void Pushback(T& a, T n){....}
private:T* _a;int _size;int _capacity;
};
int main()
{Qlist<int> q;return 0;
}

我们只需要在创建顺序表时给出数据类型即可。 


总结

模版的内容比较简单,就分享到这里。

喜欢博主文章的小伙伴记得一键三连,我们下期再见!

http://www.yayakq.cn/news/747955/

相关文章:

  • 中国城乡建设部官方网站中信建设证券有限责任公司
  • 濮阳建站公司流程定制开发网站
  • 商务网站建设实训报告总结成都网站优化网
  • 深圳建设合同备案 网站做金融在那个网站上找工作
  • 做爰视频免费安全的网站英文网站建设模板
  • 联盟网站建设模板加官网主页
  • 辽宁个人网站建设口碑推荐免费行情的软件入口下载
  • 做搜索引擎网站app类似wordpress
  • 阿里巴巴国际站官网中天建设集团坑人吗
  • 深圳建设企业网站公司深圳网站建设现
  • 广州增城区门户网站如何把网站程序做授权网址访问
  • 做网站一般注册商标哪个类昌吉 建设局 网站
  • 做古风头像的网站做培训的都上哪些网站
  • 垂直行业门户网站有哪些网站网页设计专业公司
  • 制作网站公司服装商城网站建设方案
  • 怎么联系企业的网站建设城镇建设部网站
  • 会议平台网站建设网站文件内容多少与虚拟主机空间大小的关系
  • 广州手机网站建设费用wordpress 扁平化主题
  • 国外优秀网站模板淮北市建筑
  • 网站设计模版免费建站网站开发要什么专业
  • 网站设计中怎么设置当前元素不可见网站标题权重
  • 卧龙区2015网站建设口碑建筑装饰公司简介模板
  • 温州网站建设seo房地产基础知识新手必看
  • 自己怎么做新闻开头视频网站网站怎么做数据接口
  • 黑龙江开放网站备案临城网站建设
  • 兰州网络推广效果网站优化无限关键词设置
  • 广告制作公司网站建设模板平台期一般持续多久
  • dede5.7内核qq个性门户网站源码广州网络公司哪家最好
  • 药学专业网站做外销网站
  • 如何批量入侵WordPress站公司网站设计规划