C++ 总结各种容器的用法

本文介绍了C++中的容器,特别是STL中的序列式容器(如vector, deque, list)和关联式容器(如set, map, stack)。容器提供了一种存储和管理数据的方式,它们可以根据需要自动扩展空间,并提供了方便的接口。序列式容器按照插入顺序保存元素,关联式容器则依据元素特点自动排序。文章详细讲解了每种容器的特点和应用场景。" 97017180,8151201,HDFS原理与特性详解,"['大数据开发', '分布式系统', 'Hadoop', '存储技术']

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

容器的概念

第一,我们需要知道什么是容器,官方给出的定义往往比较抽象,对于我来说看了也是不明白,不过这里还是给出官方定义。C++ 官方文档中容器被定义为:在数据存储上,有一种对象类型,它可以持有其它对象或指向其它对像的指针,这种对象类型就叫做容器。很简单,容器就是保存其它对象的内容,也即为数据;即为数据,自然而然也就包含了其对应处理数据的方法,因为这些方法在程序的设计上会经常被用到,所以容器也体现了一个好处, 就是“容器类是一种对特定代码重用问题的良好的解决方案”。

容器还有另一个特点就是可以扩展。一般我们在创建一个某种类型数据的容器的时候,不会给这个容器定义需要的空间大小,这个时候容器会默认先分配一个大小合适的空间,等到程序运行的时候由放入到容器中的数据决定。当数据存储到分配的空间不够的时候,系统自动再申请一块更大的空间,然后把之前的空间内的数据复制到新的空间,再把之前旧的空间给释放掉。这个过程显然给编程带来了极大的便利。不过,一个合格的程序员应尽量在创建容器的时候给出空间大小。 

容器是随着面向对象语言的诞生而提出的,容器类在面向对象语言中特别重要,甚至它被认为是早期面向对象语言的基础。在现在几乎所有的面向对象的语言中也都伴随着一个容器集,在C++ 中,就是标准模板库(STL )。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值