1、 序列容器和关联容器使用情况,注重点不同而不同,比如插入、删除、元素顺序
4、用empty来判断是否为0
5、用assign来进行区间成员复制
6、注意函数声明和函数参数的区别
7、用指针容器时候要注意,尽量用智能指针,注意new和delete
8、不要用auto_ptr容器
9、注意用remove和eraseremove_if。针对不容类型的容器,采用不同的方法删除
13、尽量用vector和string代替数组,这样省去了new和delete
14、注意容器空间,每次添加元素的时候都是翻倍增长,所以可以提前分配空间,以及利用capacity和size来删去不用内存
16、vector和数组api接口的传递,String和字符的传递
17、利用交换技巧将过剩容量去除,swapvector<T>(contestants).swap(contestants)
18、不要使用vector<bool>
19、关联容器中注意相等和等价的区别,set是等价,map是相等
20、指针的关联容器,比如set的,比较适合要自定义,否则只比较指针的值。
21、对于set的关联容器,如果插入的值和里面的值相等,要返回false
22、对于set和multiset,不要原地修改其中元素,会破坏结构,但是可以修改成员内部的和排序无关的东西。Map和multimap是都不能修改。其中有安全对关联容器中的元素修改的方法。
23、看所需容器主要进行哪种阶段操作,如果只是查找,尽量用vector,他节省内存,如果删除插入多,则还是关联容器。
24、当对关联容器插入元素是尽量用insert,当修改时用operator=
25、尽量用iterator,注意各个iterator之间的关系,继承已经const
32、remove erase详细介绍
33、在指针作为元素的容器中使用remove时,提前要删除指针
43、尽量用容器内部的函数代替手写函数,比如循环等 for_each(lw.begin(),lw.end(),
44、尽量用容器的成员函数代替同名算法
45、用什么容器,include什么头文件,该条列举了所有相关的头文件