Vector 简介
vector 是 STL 库中提供的类模板,用于存储元素对象的顺序表。它提供增删查改接口,支持通过下标在任意位置读写。更多接口及用法可参考 C++ Reference。
源码实现框架
注意:STL 库的实现方式与普通顺序表略有不同。主要成员变量包括指向有效元素起始位置的 _start、终止位置下一个的 _finish 以及空间终止位置的 _endofstorge 迭代器(指针类型)。初始化时直接赋予空指针默认值,避免多次显式初始化。

构造函数
库中提供了多种构造函数,以下逐一实现。关于内存分配,标准库通常使用内存池优化,但此处直接使用 new 开辟空间以简化讲解。
1. 空构造
由于成员变量已设默认值,实现简单,但必须显式编写以避免编译器生成默认构造函数冲突。

2. 用 n 个元素对象进行初始化
参数中给 T 类型默认值 T()。对于内置类型(如 int),C++ 会将其视为可调用默认构造的对象(如返回 0)。

3. 使用迭代器区间进行初始化
使用函数模板支持不同类型的迭代器初始化。

常用性质函数
1. size()
返回 vector 中的元素个数。

2. capacity()
返回 vector 中的空间大小。














