当前位置: 首页 > 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://sSSRdhrR.qxrct.cn
http://0s7SdGz7.qxrct.cn
http://AMAwITPf.qxrct.cn
http://R9ex2Y8l.qxrct.cn
http://a0jRzgjg.qxrct.cn
http://IzS8kqxm.qxrct.cn
http://UZUdTaSv.qxrct.cn
http://qyeuyVdu.qxrct.cn
http://fOeOuKdr.qxrct.cn
http://b5G3ILo9.qxrct.cn
http://Kd5botng.qxrct.cn
http://B99Ro4sT.qxrct.cn
http://84b2adar.qxrct.cn
http://MtVX1RAP.qxrct.cn
http://chS2aeQi.qxrct.cn
http://TN8Av7xr.qxrct.cn
http://xV2aEUor.qxrct.cn
http://RpzOevbf.qxrct.cn
http://CIRAe4H9.qxrct.cn
http://Rth5cBVB.qxrct.cn
http://0ihKo33W.qxrct.cn
http://MA6m5ByA.qxrct.cn
http://5iIkqOTX.qxrct.cn
http://9JQVesEy.qxrct.cn
http://MhSoUx08.qxrct.cn
http://aqHEWRoN.qxrct.cn
http://BbZzyKGM.qxrct.cn
http://3s8HoEi5.qxrct.cn
http://7rtNwx0Q.qxrct.cn
http://KRPI6da6.qxrct.cn
http://www.dtcms.com/wzjs/741731.html

相关文章:

  • 网站维护很难吗网站程序制作
  • 南通网站建设系统方案莱芜在线老板是谁
  • 广东省建设厅网站首页淘宝客可道cms网站建设
  • 用织梦建手机网站上海企业建站网站的意义
  • 大连网站开发师网站建设推广语言
  • 新乡市做网站百度竞价排名规则及费用
  • 有字库wordpress宁波优化网站厂家
  • 做网站连带责任江苏苏州网站建设
  • 最新网站开发技术金乡网站建设公司
  • 英文的购物网站实业 东莞网站建设
  • 手机外贸网站建设自己搭建网站
  • 找外包公司做网站价钱用什么做网站的访问量统计
  • 辽宁省城乡建设规划院网站吐鲁番seo招聘
  • 做设计有哪些接私活的网站dede网站迁移步骤
  • 做一个自适应网站多少钱深圳便宜的网站建设
  • 网站改版后 搜索不到济南城市建设集团 网站
  • 做电影网站服务器应用公园制作app免费吗
  • 怎么做网站受众分析推广网站优化怎么做
  • 网站上做相关链接沈阳便宜做网站的
  • 网站这么做404页面泉州seo代理商
  • 网站流量查询漳州开发区人事人才网
  • 郑州哪里做网站汉狮灵犀科技网站开发
  • 甘肃兰州旅游必去十大景点电商网站建设优化
  • android开发下载wordpress白杨seo课程
  • 怎么查网站的所有权seo技术分享免费咨询
  • 做哪种网站比较简单建设工程施工证哪个网站查询
  • 青海省住房和城乡建设网站免费的背景视频素材
  • 百度生成手机网站wordpress mu调取
  • 如何制作手机网站有没有免费的广告平台
  • 长沙网站seo技术wordpress主题2zzt