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

收录网址教程衡阳seo优化

收录网址教程,衡阳seo优化,网站开发费用计入什么二级科目,卢湾广州网站建设前言 今天简单和大家分享一下C重要的两个内容&#xff0c;经过之前的学习我们已经了解了C的大致语法&#xff0c;接下来就是C相关的库和一些操作了&#xff0c;他们能极大地缩小我们C语言阶段的代码量&#xff0c;让写代码变得轻松起来。 1.关于模版 <1>泛型编程 我们学…

前言

今天简单和大家分享一下C++重要的两个内容,经过之前的学习我们已经了解了C++的大致语法,接下来就是C++相关的库和一些操作了,他们能极大地缩小我们C语言阶段的代码量,让写代码变得轻松起来。


1.关于模版

<1>泛型编程

我们学过函数重载之后,我们知道参数的类型不同就可以写n个函数重载,比如swap函数,底层的交换逻辑是很简单的,但我们重载却要写很多函数,很麻烦。

在C++中就有了模版这一概念,将这个过程交给编译器去做,大大减少了程序员的工作量

模版有函数模版类模版之分,我们先来介绍函数模版


<2>函数模版的格式

typename也可以用class来替换,他们都是用来定义模版的关键字

template<typename T>
void Swap( T& left, T& right)
{
T temp = left;
left = right;
right = temp;
}


<3>函数模版的原理

函数模版并不是函数,他们相当于蓝图,调用它们的时候再由编译器根据基本逻辑和实参去实现一个符合要求的基本函数。

也就是说函数模版可以根据实参自动识别并生成符合的函数,这个过程由编译器去完善和实现。

这里涉及到隐式实例化显示实例化

(1)隐式实例化

关于隐式实例化依靠的是模版的自动识别特性,举个例子;

int main()
{int a=9,b=10;double c = 1.0 ,d = 2.0;swap(a,b);swap(c,d);return 0;
}

(2)显示实例化

关于显示实例化就是在函数名后实现用 <类型> 显示所要实现的类型

int main(void)
{int a = 10;double b = 20.0;
// 显式实例化Add<int>(a, b);return 0;
}

(3)

模版函数和全局函数可以同时存在,什么意思呢,我们可以写一个模版函数,我们可以再写一个同名逻辑相同的函数,二者可以同时存在,就像这样:

int Add(int left, int right)
{
return left + right;
} template<class T>
T Add(T left, T right)
{
return left + right;
}

这样就会产生一个问题,编译器到底会使用那个函数:

它有这样一个原则:有现成的吃现成,也就是说非模版函数能满足我们的需求,那么我们就使用非模版函数。

如果说模版函数能提供给我们一共更符合的,那么编译器就会使用模版函数。


 <4>类模版

关于类模版,与函数模版有很多相似的地方,但略有差别

关于类模版的用处,我们可以想到学习过的栈,队列这样的数据结构,我们在C语言阶段实现的时候,对于数据类型我们通常是typedef 某个数据类型为StackDateType等等,在这里我们完全可以使用类模版,来代替这个栈或队列等数据结构的数据类型,比如下面这个例子:

template<typename T>
class Stack
{ 
public:Stack(size_t capacity = 4){_array = new T[capacity];_capacity = capacity;_size = 0;
} 
void Push(const T& data);
private:T* _array;size_t _capacity;size_t _size;
};

模版类不建议声明和链接分开定义会出现链接报错;

但是在类模版这里我们只能使用显示实例化,比如说这样去实现。

int main()
{// Stack是类名,Stack<int>才是类型Stack<int> st1; // intStack<double> st2; // doublereturn 0;
}


2.了解什么是STL

STL这个名字相信大家在没接触过C++的时候就经常听到这个名字,可见它在C++中的重要程度。

网上常说,“不会STL,你不要说你会C++”,不言而喻,那接下来我们大体来了解一下什么是STL。

(1) 什么是STL

STL(standard template libaray-标准模板库):是C++标准库的重要组成部分,不仅是一个可复用的组件库,而且是一个包罗数据结构与算法的软件框架。

经过多年的迭代,STL有很多版本,我们主要学习的SGI版本

(2)STL的六大组件

迭代器,容器,算法,仿函数,空间配置器,配接器

我们当前有所熟悉的就是容器这个概念,就是一些数据结构比如说栈,队列,二叉树等等,其他的我们在后续的学习中会一一介绍。


总结

今天我们步入了C++初阶的大门,C++这门语言终会被我们所掌握,料青山略输我峥嵘

http://www.dtcms.com/wzjs/282952.html

相关文章:

  • 驻马店网站建设企业推广是什么意思
  • 衡水移动端网站建设网站seo完整seo优化方案
  • 建设网站培训学校杭州龙席网络seo
  • 泰安手机网站建设公司互联网营销推广怎么做
  • 网站开发课程教学目标网络服务主要包括什么
  • 大理建设招标有限公司网站深圳网站建设推广优化公司
  • 武汉高端网站开发公司论文收录网站排名
  • wordpress 萌主题网站建设优化400报价
  • 网站设计模板照片网站优化技巧
  • 直播网站模板免费网页制作平台
  • 平台类网站做多久南宁网
  • 网络营销案例实例优化防控举措
  • 高端营销网站定制简述常用的网络营销方法
  • 移动终端的网站百度竞价排名是什么
  • 做外贸服饰哪个个网站好百度指数官网登录
  • 做网站的收益在哪写软文平台
  • 武汉制作网站软件搜一搜排名点击软件
  • 昆明 网站建设自媒体人专用网站
  • 房地产网站案例seo的基础优化
  • 网站建设及推广费用百度外推排名
  • 俄罗斯网站制作seo管理系统
  • 网站全屏轮播怎么做重庆企业免费建站
  • 做电影网站怎么样快速的网站设计制作
  • 图片制作视频用什么软件廊坊关键词优化平台
  • 如何对网站做引擎优化5g网络优化培训
  • 合肥做网站专家疫情防控最新信息
  • 网页设计与网站建设...seo关键词如何设置
  • 北京设计网站建设360搜索优化
  • wordpress 点击 代码优化大师官方
  • 网站上传到虚拟服务器百度搜索引擎优化方式