当前位置:首页 > 芯闻号 > 充电吧
[导读]写C++程序的时候会发现STL是一个不错的东西,减少了代码量,使代码的复用率大大提高,减轻了程序猿的负担。还有一个就是容器,你会发现要是自己写一个链表、队列,或者是数组的时候,既要花时间还要操心怎么去

写C++程序的时候会发现STL是一个不错的东西,减少了代码量,使代码的复用率大大提高,减轻了程序猿的负担。还有一个就是容器,你会发现要是自己写一个链表、队列,或者是数组的时候,既要花时间还要操心怎么去维护,里面的指针啊,内存够不够用啊,长度问题,有没有可能溢出啊等等一系列的问题等着我们去解决,还是比较头疼的。所以容器的出现解决了这一个问题,它将这些数据结构都封装成了一个类,只需要加上头文件,我们就可以轻松的应用,不用那么复杂,就连指针也被封装成了迭代器,用起来更方便,更人性化,方便了我们的编程,对于程序员来说还是一大福音!!

   C++中的容器类包括“顺序存储结构”和“关联存储结构”,前者包括vector,list,deque等;后者包括set,map,multiset,multimap等。若需要存储的元素数在编译器间就可以确定,可以使用数组来存储,否则,就需要用到容器类了。

vector

    连续存储结构,每个元素在内存上是连续的;支持高效的随机访问和在尾端插入/删除操作,但其他位置的插入/删除操作效率低下;相当于一个数组,但是与数组的区别为:内存空间的扩展。vector支持不指定vector大小的存储,但是数组的扩展需要程序员自己写。

vector的内存分配实现原理:
    STL内部实现时,首先分配一个非常大的内存空间预备进行存储,即capacity()函数返回的大小,当超过此分配的空间时再整体重新放分配一块内存存储(VS6.0是两倍,VS2005是1.5倍),所以这给人以vector可以不指定vector即一个连续内存的大小的感觉。通常此默认的内存分配能完成大部分情况下的存储。
    扩充空间(不论多大)都应该这样做:
   (1)配置一块新空间
   (2)将旧元素一一搬往新址
   (3)把原来的空间释放还给系统
    注:vector 的数据安排以及操作方式,与array 非常相似。两者的唯一差别在于空间的利用的灵活性。Array 的扩充空间要程序员自己来写。
    vector类定义了好几种构造函数,用来定义和初始化vector对象:
    vector

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

业内消息,近日日本官方表示计划扩大对与半导体或量子计算相关的四项技术的出口限制,这是全球管制战略技术出口的最新举措。该限制措施向所有国家/地区(包括最受惠的贸易伙伴韩国、新加坡和中国台湾)的此类货物将需要出口管制官员的批...

关键字: 半导体 出口管制 商务部 GAA

业内消息,日前中国大陆智能手机品牌大厂华为新款旗舰机Pura70日前重磅上市,掀起一股抢购风潮,一开卖就秒杀,各大渠道均呈现缺货状态,甚至出现黄牛乱象。近期许多海外网站陆续出具拆解报告,赫然发现Pura70除最高端机型外...

关键字: 华为 华为Pura 70

业内消息,近日台积电在美国亚利桑那州的新扩张因其无数的工人待遇恶劣的例子而受到工程师和业内人士的严重关注。当地报告称,该公司在其中国台湾工厂的长期加班文化、残酷的管理风格和对其工程师的不良待遇已经不适当地转移到美国工人上...

关键字: 台积电

Spotify和苹果公司在欧洲再次因为佣金问题发生冲突。苹果公司拒绝了Spotify在欧洲新规生效之后的第2次更新,对此Spotify表达了强烈不满。苹果公司于4月6日响应欧盟近期提出的“限制导流”(anti-steer...

关键字: Spotify 苹果

业内消息,近日韩国存储芯片巨头SK 海力士宣布,为应对用于 AI 的半导体需求剧增,决定扩充 AI 基础设施(Infra)的核心产品即 HBM 等新一代 DRAM 的生产能力(Capacity) 。

关键字: SK海力士 DRAM

近日,美国研究机构TechInsights经过拆解与分析认为,麒麟9010是中芯国际制造的,所用工艺是第二代7nm,也就是N+2。

关键字: 华为 芯片 处理器

4月28日,开放式耳机品牌鲸语系列新品于“2024年第五届中关村硬核科技嘉年华”正式亮相。此次发布的新品中,拥有星空黑与暮沙白双配色的防水骨传导运动耳机——鲸语Alpha,以其独特的设计理念和水陆两栖的卓越性能,吸引了众...

关键字: 开放式耳机 运动耳机 鲸语Alpha

作为一名数码爱好者,更是资深理工男,自然也对3D打印设备兴趣满满,正好看到全球消费级光固化3D打印第一品牌的ELEGOO爱乐酷推出了一款重磅新品,性能上也有非常多颠覆升级,便迫不及待入手一台感受一下。

关键字: 打印机

京元电子在重大讯息说明会中宣布,将出售持有苏州子公司京隆科技 92.1619% 的股权,预估交易金额约 48.85 亿人民币,将于第三季度完成交易,届时将退出中国大陆半导体制造业务。

关键字: 半导体制造 半导体封测 封装测试 京元电子

电子数据的存储与共享在我们生活中占据越来越重要的地位,而传统的硬盘存储已然难以满足人们日益增长的数据存储需求,为此网络附加存储(NAS)则以其便捷、高效的特点,逐渐受到广大用户的青睐。但是提到NAS,很多人可能会觉得它是...

关键字: 存储 铁威马NAS 硬盘存储
关闭
关闭