STL源码剖析之Vector容器【2013.11.15】
来源:互联网 发布:linux启动服务的命令 编辑:程序博客网 时间:2024/06/05 21:54
欢迎加入我们的QQ群,无论你是否工作,学生,只要有c / vc / c++ 编程经验,就来吧!158427611
STL源码剖析之Vector容器【2013.11.15】
容器在STL中是和使用者联系最多的。
Vector容器,没什么很多需要注意的。
STL中vector的结构主要成员如下:
start为头部迭代器,作为随机访问的基数。[n] = start + n
finish为数据尾部迭代器,有效元素的尾部,用来计算,size = finish - start
end_of_storage为容器尾部迭代器,可以计算容器最大容量,capacity = end_of_storage - start
【1】Vector是可变长的序列容器,在内存中占用连续内存。
【2】Vector在增加的元素的时候,会根据容器容量是否足够来重新申请更大的内存块来支持数据量。容量不等于Vector的size。容量 >= size 当容量等于size的是,再插入元素,Vector就会重新申请一块内存,容量大约为容器size的两倍。size以外的空间用作备用空间,用以节省插入时效。
【3】Vector在插入或者删除等,对容器数据分布有改动的时候,将会使迭代器失效。如插入的时候,会使插入点以后的迭代器失效,删除也是一样。
【4】因为Vector是需要保持连续性的容器,所以,在对Vector进行插入和删除的时候,需要对应的移动插入点(删除点)后的所有元素,所以在效率上面是比较大的消耗。
........................
欢迎加入我们的QQ群,无论你是否工作,学生,只要有c / vc / c++ 编程经验,就来吧!158427611
- STL源码剖析之Vector容器【2013.11.15】
- STL 源码剖析序列式容器之vector(四)
- STL源码剖析——序列容器之vector
- STL学习笔记之容器--vector(二)源码剖析
- STL源码剖析——序列容器之vector
- STL源码剖析之序列式容器vector
- STL源码剖析-序列式容器之vector
- STL源码剖析(4):容器(vector)
- STL之Vector源码剖析
- STL 之 vector 源码剖析
- STL源码剖析之vector
- stl源码剖析之vector
- stl源码剖析之vector
- STL源码剖析之vector
- STL源码剖析 之 vector
- 《STL源码剖析》之容器
- 《STL源码剖析》-序列式容器(一)vector容器
- 《STL源码剖析》-序列式容器(一)vector容器
- python sharing your code windows下分享你的代码
- Rexsee是什么
- awk:左移、右移、按位取反、按位与、按位或、按位异或、数值IP转字符串IP
- 【以太网协议帧结构】
- NPAPI-浏览器开发之网络文件SRC下载(NPN_GetURLNotify,NPP_NewStream....)
- STL源码剖析之Vector容器【2013.11.15】
- oozie 3.3.2在hadoop 2.2.0下的安装部署,及问题解决
- Longest Common Prefix
- C语言检测字符串长度
- mysql几个内置函数
- scrollview中包含两个以上的控件时,会隐藏掉上面的
- 字符串匹配
- Android Paint和Color类
- C# 数值传递之转换追踪