c++中容器的定义如下:数据存储上,有一种对象类型,它可以持有其他对象或指向其他对象的指针,这种对象类型叫容器。
通俗的说容器就是保存其他对象的对象,这种“对象”还包含了一些列处理其他对象的方法,这也体现了容器类的一个好处,“容器类对特定代码重用问题的良好的解决方案”。
容器另一个好处就是可以自行扩展,解决问题是不知道需要存储多少个对象,数组在这方面是个欠缺。容器可以为申请内存、释放内存,并且使用最优的算法来执行的命令。
容器用来存储数据的,数据可以是用户自定义类型(对象),也可以是预定义类型。
c++中的容器主要使用如vector(可变数组的顺序容器),list (顺序容器) 这些都是已经封装好了的,包含头文件"vector","list"。
他们可以通过迭代器iterator访问容器中的数据,map,set(关联容器),关联容器map键值对形式出现key-value,key唯一,mutimap多映射可以不唯一;set是一个单一值的集合,如1,2,3,4。
vector容器的特点:在内存中是一片连续的存储区域,但容量可以 以原有的2倍扩展。
初始化的时候,可以指定容量,比如如果定义容量50 的容器存储 60个string对象,由于初始容量不足60,容器将会重新定义一个容量是原来的2倍新容器,然后拷贝原容器的对象到新容器. 读取速度快,插入删除效率低.如果仅仅在容器头或尾部 进行增删改,推荐使用deque,专门提供了对首尾的操作.
list容器特点:相当数据结构的链表,不是一个连续的存储区域,插入,删除很方便,但是查询速度慢。
vector
vec.push_back(), push_font(),insert(position,value) 想vector中添加一个指定值
list