9.1  顺序容器的定义

笔记:(1)当将一个容器复制给另一个容器时,容易类型和元素类型都要一致。

         (2)在定义容器的容器时,必须>>分开为> >,以表示这是分开的尖括号,而不是一个输出符号。

9.2 迭代器及其范围

笔记:(1)关系运算符<,<=,>,>= 只适用于deque和vector。

         (2)list容器只支持自增自减运算和相等(不等)运算。

         (3)迭代器的范围由[first,last)确定,last必须在first后面。

9.3  顺序容器的操作

问题:(1)9.3.3中最后一段,是否还是会导致无限循环?

笔记:(1)添加元素的方式:push_back,push_front(list,deque专有),insert(p,t),insert(p,n,t),insert(p,b,e)。

         (2)向容器中添加元素可能会使迭代器失效,需要保证在每次循环后迭代器得到更新。

         (3)不要存储end操作返回的迭代器,添加或删除容器中的元素都会使迭代器失效。

         (4)使用文件结束符作为输入结束的标志,cin将处于无效状态,必须将其重置,cin.clear()。

9.4  vector容器的自增长

笔记:(1)当vector不得不重新分配内存时,以两倍当前容量的策略实现重新分配。

9.5 容器的选择

笔记:(1)一般来说,使用vector容器是比较好的。

9.7  容器适配器

笔记:有stack,queue和priority_queue.

        

posted on 2012-07-16 17:44  fengluo  阅读(127)  评论(0编辑  收藏  举报