c++顺序容器的学习

来源:互联网 发布:数据库的优化方法 编辑:程序博客网 时间:2024/06/03 19:55

1.顺序容器分为3类:vector,list,deque

2. 容器内元素的类型约束:

    在C++中,大多数的数据类型都可以做为容器的元素,甚至容器。容器的元素类型必须符合两个条件:1.元素类型支持赋值运算,2,元素类型的对象必须可以复制。要注意的是引用类型无法成为容器的元素。(这是因为如果引用类型成为元素后,就会出现引用的引用,或者指针的引用等,C++里面不支持这样的语意)

3.三种容器都是顺序容器,我的理解是把vextor看做数组,list是链表,而deque是集合了二者的一些特点,下面对三种      顺序容器操作做个比较:

    容器迭代器的操作:因为list输入链表操作,所以它无法进行iter + n以及比较大小的关系运算,如>=, >

    容器中添加元素:c.push_front(t) 向容器前端添加t,很显然vector不能使用啊

    容器元素的访问:链表无法支持随机读取,像c[n],c.at[n]这种读取容器第n个值的list是没法用啦

    容器元素的删除:c.pop_front(t) 删除首元素,vector不能使用

4. vector容器是连续分配的,它提供了两个接口capacity和reserve,capacity获取系统当前分配的当前内存能储存多少个元素,而reserve则告诉容器应该预留多少个元素的空间




FROM:  http://blog.csdn.net/wasd6081058/article/details/7380661

0 0
原创粉丝点击