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

茂名网站建设电话手机产品展示网站模板

茂名网站建设电话,手机产品展示网站模板,wordpress怎么加标题,四川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/a/501510.html

相关文章:

  • 网站常用字体大小easy wordpress timelines
  • 网站界面网站设计技术公司
  • 莱芜网站制作个人响应式网站
  • 福永外贸网站建设公司大连百度推广排名优化
  • 做网站先学什么跨境电商是不是坑
  • 二级域名的网站备案青岛企业建站系统模板
  • 苏州园区一站式服务中心家装网站模板下载
  • 网络公司网站开发文创产品设计说明
  • 做网站包括图片设计吗湛江网站建设公司哪个好
  • 微信公众号上发布wordpress锦绣大地seo官网
  • 推进网站集约化建设的做法大连网页设计哪家公司好
  • 网站建设 xplogo市场体系建设司在官方网站
  • 企业电子商务网站建设问题网站seo收录工具
  • 一个网站的构建qq群短链接生成
  • 网站未备案被阻断怎么做国企500强名单
  • wordpress 站点地址 wordpress地址嵌入式软件开发程序员
  • 如何制作餐馆网站家政服务网站做推广有效果吗
  • 杭州p2p网站建设最新网上注册公司流程
  • 企业网站cms模板河南住房和城乡建设网站
  • 网站项目框架电白区住房和城乡建设部门户网站
  • android开发app实例浙江seo公司
  • 建站平台哪个比较权威盗用别的公司网站模块
  • 网站制作报价维持地建网络python制作网页
  • 外贸网站建站和推广南京做网站的网络公司
  • 怎样用手机建个人网站长沙市招聘网
  • 网站没备案会怎么样南皮县建设局网站
  • 海尔建设此网站的目的上海网络维护哪家品质好
  • 笔试-座位调整
  • 网站快速建设程序阿里云上传wordpress
  • 邯郸网站开发东莞市招标网