总结各容器特点

来源:互联网 发布:数据仓库与数据挖掘pdf 编辑:程序博客网 时间:2024/05/16 06:48

vector:动态数组,在堆中分配内存,元素连续存储,有保留内存,删除元素时内存不会被释放,如果大小超过限定值时才会重新分配内存,随机访问速度快,对最后元素操作最快(在后面添加删除最快 ), 因为不需要内存移动

 

应用于:需要经常随机访问请用vector 

 

 

list:在堆中分配内存,每个元素都是放在一块内存中 
list没有空间预留 ,所以每分配一个元素都会从内存中分配,每删除一个元素都会释放它占用的内存,插入和删除操作快速(不需哟东内存),但访问不行

应用于:需要经常经行插入和删除操作的容器

如果你喜欢经常添加删除大对象的话,那么请使用list
要保存的对象不大,构造与析构操作不复杂,那么可以使用vector代替
list<指针>完全是性能最低的做法,这种情况下还是使用vector<指针>好,因为指针没有构造与析构,也不占用很大内存