vector类详细解析及模拟操作方法介绍?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1325个文字,预计阅读时间需要6分钟。
定义和结构+作为一种序列容器,vector的结构和操作与数组非常相似,不同之处在于vector对内存空间使用的灵活性,由于可以进行容量检测和扩展,vector极大提高了内存的利用率。同时,“
定义和结构
作为一种序列式容器,vector的结构和操作与数组非常相似,不同之处在于vector对内存空间使用的灵活性,由于可以进行容量检测和扩容,vector极大提高了内存的利用率。同时,模板的使用可以使用户便捷地进行各种类型数据的存取和操作。本文参考SGI STL实现一个功能相似的vector容器,以达到深入学习的目的。
vector的逻辑结构和物理结构都是连续的,这点在数据结构_顺序表中已做了详细说明。与传统顺序表不同,本文vector的定义中用三个指针维护容器中的有效数据和内存区域,这样做可以方便获取对应的迭代器,也便于进行元素操作。
template<typename T>
class vector
{
private:
iterator _start;
iterator _finish;
iterator _end_of_storage;
/*…………*/
迭代器
与string相似,vector维护的是一个连续线性空间,普通指针可以作为vector的迭代器。
本文共计1325个文字,预计阅读时间需要6分钟。
定义和结构+作为一种序列容器,vector的结构和操作与数组非常相似,不同之处在于vector对内存空间使用的灵活性,由于可以进行容量检测和扩展,vector极大提高了内存的利用率。同时,“
定义和结构
作为一种序列式容器,vector的结构和操作与数组非常相似,不同之处在于vector对内存空间使用的灵活性,由于可以进行容量检测和扩容,vector极大提高了内存的利用率。同时,模板的使用可以使用户便捷地进行各种类型数据的存取和操作。本文参考SGI STL实现一个功能相似的vector容器,以达到深入学习的目的。
vector的逻辑结构和物理结构都是连续的,这点在数据结构_顺序表中已做了详细说明。与传统顺序表不同,本文vector的定义中用三个指针维护容器中的有效数据和内存区域,这样做可以方便获取对应的迭代器,也便于进行元素操作。
template<typename T>
class vector
{
private:
iterator _start;
iterator _finish;
iterator _end_of_storage;
/*…………*/
迭代器
与string相似,vector维护的是一个连续线性空间,普通指针可以作为vector的迭代器。

