STL vector容器简介

vector

vector 容器,是一个动态数组,让容量不足时,会删除原有数组,开辟新空间。

class vector
{
private:
T* start_;
T* finish_; 已使用空间的最后地址
T* end_; 动态分配内存块的最后地址
}

string 类简介链接

http://t.csdnimg.cn/62981

构造函数

vector();
explicit vector(const size_t n);         防止类构造函数的隐式自动转换
vector(const vector<T> & v);             拷贝构造函数
vector(const size_t n, const T& value);  创建个数为n个,值为value
vector(Iterator first, Iterator last);   使用迭代器创建vector容器
vector(vector<T> && V) ;                 移动构造函数,    C11标准
vector(initializer_list<T> il);          使用统一初始列表

特性操作

size_t max_size() const;    返回容器的最大长度,此函数意义不大  ,表示函数不可以修改类中的成员
size_t capacity() const;    返回容器的容器
size_t size() const;		返回容器的实际大小 (已使用的空间)
bool empty() const;		    判断容器是否为空
void clear();			    清空容器
void reserve(size_t size);  将容器的容器 设置为至少size
void shrink_to_fit();       将容器降到实际大小
void resize(size_t size)    设置实际大小

元素操作

vector<class T>v;
T & operator[](size_t n);                  数组[]
const T & operator[](size_t n) const;      只读
T & at(size_t n);						   
const T &at(size_t n) const;
T * data();                                返回容器中动态数组的首地址
const T *data() const;                     返回容器中动态数组的首地址 不可修改
T & front();                               第一个元素
T & back();                                最后一个元素

赋值操作

vector & operator=(const vector &v);           把容器v赋值给当前容器
vector & operator=(initializer_list <T> il);   用统一初始化列表对其赋值
void assign(initializer_list <T> il);  
void assign(Iterator first, Iterator last);    使用迭代器进行赋值

交换操作

void swap(vector< T > & v) ; 如果数据量小,交换的是动态数组的内容,如果数据量大,交换的是动态数组的地址。

比较操作

bool operator==(const vector<T> &v)  const;
bool operator!=(const vector<T> &v)  const;

插入操作

void push_back(const T & value);    在容器的尾部追加一个元素
void emplace_back(...);             在容器的尾部追加一个元素,... 用于构造元素,可以直接构造
iterator insert(iterator pos, const T& value); 在指定位置插入一个元素,返回指向插入元素的迭代器
iterator emplace(iterator pos, const T& value); 在指定位置插入一个元素,返回指向插入元素的迭代器
iterator insert(iterator pos,size_t n , const T& value); 在指定位置插入n个数
iterator insert(iterator pos,iterator first, iterator last); 指定位置插入一个区间的元素

删除操作

void pop_back(); 从容器的尾部删除一个元素
iterator erase(iterator pos); 删除指定位置的元素,返回下一个有效的迭代器
iterator erase(iterator first, iterator last); 删除指定区间的元素,返回下一个有效的迭代器

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值