C++:STL:Vector
STL(Standard Template Library,标准模板库)由容器(Container) + 算法(Algorithm) + 迭代器(Iterator)组成,算法通过迭代器操作容器的数据。容器分为序列式容器(动态数组vector、双端队列deque、双向链表list)、关联式容器(集合set / multiset)和容器适配器(栈stack、队列queue)。迭代器扮演指针角色,通过算法去操作容器的算据。
1. 容器
1.1序列式容器
1.1.1 vector---动态数组
std::vector的底层本质上是对传统 C 语言动态数组的封装。在内存中,它的物理结构是一片连续的内存空间。在std::vector类内部,是由三个指针来控制整个容器的生命周期的:_Myfirst(指向数组的起始位置,即begin());_Mylast(指向最后一个有效元素的下一个位置,即end());_Myend(指向整块可用内存的末尾边界)。
.size()---当前vector中实际存放了多少个元素(即 _Mylas