关于C++ STL Vector 接口小结

本文深入解析C++标准库中的Vector容器,介绍其内部函数、构造方法及操作特性,如自动扩容、元素插入与删除等,适合C++初学者及进阶开发者阅读。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  • Vector  与array 十分相似, C++ 自身提供array序列式容器,其为静态空间,一旦配置就不能改变,而vector更加灵活多变,并且对内存的合理运用显得游刃有余。
  • 其部分内部函数及功能:     
     

     Protected:

  1. void insert_aux(iterator position ,const  T&x);
    
    其作用如下:当插入数据时无备用空间或空间不足时自动申请新的空间,为起初空间的2倍。当有额外空间时,在Vector后的备用空间构造一个元素,类型为value_type,并且将最后一个元素的值赋予新构造的元素实现初始化。
  2. void deallocte();
     

    作用:清还所有申请空间。

  3. void fill_initialize(size_type n , const T& value)

    作用:申请N 个空间 以Value为初始值进行初始化。

    Public:

  1. iterator begin()

    作用:返回起始地址。

  2. iterator  end();

    作用:返回最后一个元素的位置。

  3. size_type size() const;

    作用: 返回元素个数。

  4. size_type capacity() const;

    作用:返回所申请空间大小,为2的n次方。

  5. bool empty() const ;

    作用:判断是否为空

  6. reference operator[](size_type n);

    作用: 返回【】中所指元素的引用

  7. //--------------------------------------------//
    vector():start(0),finish(0),end_of_storage(0);   // 默认无参构造
    
    //--------------------------------------------//
    vector(size_type n, const T& value);             // 填充n个value
    
    //--------------------------------------------//
    vector(int n, const T& value);                   // 填充n个value
    
    //--------------------------------------------//
    vector(long  n, const T& value);                // 填充n个value
    
    //--------------------------------------------//
    explicit vector(size_type n)      //禁止隐式转换,并填充n个T的默认构造值
    
    

    作用:构造+重载

  8. ~vector();

    作用:析构

  9. reference front();

    作用:返回第一个元素的引用

  10. reference back();

    作用:返回最后一个元素的引用

  11. void push_back( const T& x);

    作用:尾插X

  12. void pop_back();

    作用:弹出尾端元素

  13. iterator erase(iterator position);

    作用:清除position 位置上的元素

  14.  

void resize(size_type new_size,const T& x); //重新制定所占大小,如果小于之前的尺寸,则阉割
                                            //如果大于之前的尺寸,则补齐,并初始化增添部分为X




void resize(size_type new_size);          //重新制定所占大小,如果小于之前的尺寸,则阉割
                                          //如果大于之前的尺寸,则补齐,并初始化增添部分为T()

   15.

void clear();

作用: 删除所有元素

Protected:

16.

 iterator allovate_and_fill(size_type n, const T& x)

作用:配置空间并填满内容

17.

templete<class T ,class Alloc>
void vector<T,Alloc> ::insert(iterator position,size_type n, const T& x);

作用:在position 位置前端插入n个X元素。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值