vector的resize和reserve原理
- 2015-03-04 17:20:00
- admin
- 原创 2122
一、定义
vector模板类一般有以下三个成员_Myfirst、_Mylast、_Myend:
1、_Myfirst指向内存的起始位置;
2、_Mylast指向存储元素的结束位置;
3、_Myend指向内存的结束位置;
4、size == _Mylast - _Myfirst,resize最终改变的是这个size;
5、capacity == _Myend - _Myfirst,reserve最终改变的是这个capacity;
二、使用场合
1、频繁插入元素,可以先进行resize(初始化元素)或reserve(不初始化元素),避免频繁的内存分配和回收;
2、size远小于capacity,并且容器大小修改频率很低,使用shrink_to_fit使size==capacity节约内存;
三、附件下载
发表评论