(1)vector动态增长:不是随着每个元素的插入而自己增长的。预先存了一些存储区,使得实际分配的空间比当前所需的空间多一些,而list 表示非连续的内存区域,并通过一对指向首位元素的指针双向链接起来,因而可以两个方向进行遍历。
(2)当从vector末端删除元素的时候,性能与list差不多,当从前面或者中间删除元素的时候,list列表性能要好得多,原因是vector需要进行元素的移动。
(3)当要随机访问元素时,vector效率更高点。
(4)对于小的基本数据类型,插入100000个元素,vector性能要好。
(5)对于大的复合数据类型,比如类,插入100000个元素,list性能要好,因为vector需要重新分配内存,并且需要拷贝旧的内存区域,还必须调用拷贝构造函数与赋值构造函数。所以效率要低很多
(6)当插入大型数据类型时,用指针间接存储,性能会好很多
(7)已知需要存储的元素时,vector要好
(8)如果需要任意位置插入元素,list要好