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

鱼台做网站多少钱提升网站转化率

鱼台做网站多少钱,提升网站转化率,电子商务网站建设与管理课后答案,网站设计建设维护与更新一、vector 的介绍和使用 1.1 vector的介绍 vector 是表示可变大小数组的序列容器。 就像数组一样,vector 也采用的连续存储空间来存储元素。也就是意味着可以采用下标对vector的元素进行访问,和数组一样高效。但是又不像数组,他的大小是可…

一、vector 的介绍和使用

1.1 vector的介绍

vector 是表示可变大小数组的序列容器。

就像数组一样,vector 也采用的连续存储空间来存储元素。也就是意味着可以采用下标对vector的元素进行访问,和数组一样高效。但是又不像数组,他的大小是可以动态改变的,而且他的大小会被容器自动处理。

本质上来说,vector使用动态分配数组来存储他的元素。当新的元素插入的时候,这个数组需要被重新分配大小。为了增加存储空间,其做法是:分配一个新的数组,然后将全部的元素移动到这个新的数组中。就时间而言,这是一个相对代价高的任务,因为每当一个新的元素加入到容器的时候,vector并不会每次都重新分配大小。

vector分配空间的策略:vector会分配一些额外的空间以适应可能的增长,因为存储空间比实际需要的存储空间更大。不同的库采用不同的策略权衡空间的使用和重新分配。但是无论如何,重新分配都应该是对数增长的间隔大小,以至于在末尾插入一个元素的时候是在常数时间的复杂度完成的。

因此,vector占用了更多的存储空间,为了获得管理存储空间的能力,并且以一种有效的方式动态增长。

与其他动态序列容器相比(deque,list和forward_list),vector在访问元素的时候更加高效,在末尾添加和删除元素相对高效。对于其他不在末尾的删除和插入操作,效率更低。比起list和forward_list统一的迭代器和引用好。

1.2 vector 的使用

在使用这些STL的时候,我们也需要学会看文档!!!

1.2.1 vector的定义

1.2.2 vector iterator的使用

1.2.3 vector的空间增长问题

  • reserve只负责开辟空间,如何确定知道需要使用多少空间,reserve可以缓解vector增容的代价缺陷问题
  • resize在开空间的同时还会进行初始化,影响size 

1.2.4 vector的增删查改

1.2.5 vector迭代器失效问题

迭代器是主要作用就是让算法能够不用关心底层数据结构,其底层结构是一个指针,或者是对指针进行了封装,比如:vector的迭代器就是原生态指针T*,因此迭代器失效,实际就是迭代器对应指针所指向的空间被销毁了,而使用一块已经被释放的空间,造成的后果是程序崩溃(即如果继续使用已经失效的迭代器程序可能会崩溃)。

对于vector可能会导致其迭代器失效的操作有:

  1. 会引起其底层空间改变的操作,都有可能是迭代器失效,比如:resize,reserve,insert,assign,push_back等
  2. 指定位置元素的删除操作——erase
  3. 注意:Linux下,g++编译器对迭代器失效的检测并不是非常严格,处理也没有vs下极端
  4. 与vector类似,string在插入 + 扩容 + erase之后,迭代器也会失效

迭代器失效解决方法:在使用前,对迭代器重新赋值即可。 

二、vector 深度剖析以及模拟实现

2.1 std::vector的核心框架接口的模拟实现 bit::vector

2.2 使用memcpy的拷贝问题

  • memcpy是内存的二进制格式拷贝,将一段内存空间中的内容原封不动的拷贝到另外一段内存空间中
  • 如果拷贝的是内置类型的元素,memcpy即高效又不会出错,但是如果拷贝的是自定义类型元素,并且自定义类型元素中涉及到资源管理时,就会出错,因为memcpy的拷贝实际是浅拷贝。

如果对象涉及到资源管理时,千万不能使用memcpy进行对象之间的拷贝,因为memcpy是浅拷贝,否则可能会引起内存泄露甚至程序崩溃。

2.3 动态二维数组的理解

vector<vector<int>> vv(0, vector<int>(10));

 


文章转载自:

http://3KvHYydt.ztfzm.cn
http://xZEItahh.ztfzm.cn
http://XU6Jn6XG.ztfzm.cn
http://1LVPpw3d.ztfzm.cn
http://rT9ZU511.ztfzm.cn
http://zlpt3LUl.ztfzm.cn
http://iG6UsmX5.ztfzm.cn
http://T5s1RDYf.ztfzm.cn
http://Uiy67jBM.ztfzm.cn
http://DwGUGvBf.ztfzm.cn
http://3AWVsewt.ztfzm.cn
http://rDylVQGj.ztfzm.cn
http://Mfe7QVLj.ztfzm.cn
http://3Amls5hn.ztfzm.cn
http://86WIekFV.ztfzm.cn
http://cfmMF69R.ztfzm.cn
http://zOlLGrOT.ztfzm.cn
http://Vv6unTGB.ztfzm.cn
http://51Jk3Q6u.ztfzm.cn
http://CnGvziGf.ztfzm.cn
http://bnhcZNfF.ztfzm.cn
http://Huk4gEQW.ztfzm.cn
http://h9Xj8fAy.ztfzm.cn
http://wy4wB1wX.ztfzm.cn
http://8zwD4Obm.ztfzm.cn
http://KmhNAanp.ztfzm.cn
http://8DoPAa5h.ztfzm.cn
http://2ukInz2i.ztfzm.cn
http://ryfD8C7u.ztfzm.cn
http://tb5Co5SI.ztfzm.cn
http://www.dtcms.com/wzjs/610429.html

相关文章:

  • 手机网站主机租用网站如何制作网页
  • 找公司做网站先付全款吗做p2p投资理财的网站
  • 天津有哪些好的做网站公司电子商务网站建设html
  • 上海模板建站公司厦门做点击付费网站
  • 做团购网站视频旅游景区网站模板
  • 一级域名网站建设wordpress 导航标签
  • 做网站办贷款上海中风险地区什么时候能解除
  • saas建站系统是怎么实现的ui毕业设计代做网站
  • 淄博网站营销与推广建筑公司资质等级分几级
  • 外贸网站图片素材wordpress新建留言板
  • 合肥金融网站设计网站开发职业前景
  • 做搜狗pc网站排名个人网站的设计和建设
  • 科迪兔网站建设萧山网络公司
  • 企业制作企业网站网站建设帮助中心
  • 加大整合力度网站集约建设wordpress菜单判断
  • 网站专栏建设徐州建设工程造价信息网
  • 网站建设中模板代码呼市推广网站
  • 无限建站系统宁波seo推广公司排名
  • 如何免费注册网站平台2015做哪个网站致富
  • 外贸公司英文网站怎么做免费制作网站方案
  • 注册公司如何做网站wordpress主题后门
  • 什么是php网站开发钦州市建设网站
  • 营销型网站的分类不包含好看的ui网站页面设计
  • 网站开发员岗位职责外贸整合推广
  • 公司网站建设厂家网站开发框架是什么
  • 做催收的网站若羌县铁路一建设网站
  • 企业网站icp备案申请盘石网站做的怎么样
  • 网站加速代码骏驰网站建设
  • 热门网站建设招商项目网站免费正能量破解版
  • 优化网站平台香奈儿网站建设的目标