std::vector的使用

记录std::vector的使用,部分用法涉及到c++11
概述:序列型容器,顺序删除或储存时效率较高,指定位置插入or删除效率不及其他容器。所占空间略大于实际元素所占空间,是为了避免经常调用reallocate,而让capacity(占用空间)保持大于size(已用空间)。


内置类型:
value_type: 传入的T
reference: value_type&
iterator: 迭代器
reverse_iterator: ++递减的迭代器
size_type: 调用相关方法时需传入的参数类型
const前缀:const_reference,const_iterator...


相关方法:
返回迭代器:
begin,end,cbegin,cend,rbegin,rend...


capacity,size相关:
size:return the number of elements
max_size:maximum size
resize: 保留前n个元素或用尾元素填充多出来的尺寸,若新尺寸大于capacity,则自动reallocate增大capacity
capacity: vector所占空间,resize<=capacity,自动reallocate增大capacity时capacity会增大为原来的两倍
empty:return bool
reserve: modify the capacity of the vector,it does not work if the new capacity is smaller than size


访问元素:
return reference: [],at,front,back
return pointer: data(容器内存储地址连续,可当做数组指针使用)


修改元素:
assign:重置vector并指定新元素,可由其他vector中的迭代器对/{}数组/一系列相同的值来指定
用法如下:
range (1)
template <class InputIterator>
  void assign (InputIterator first, InputIterator last);
fill (2)
void assign (size_type n, const value_type& val);
initializer list (3)
void assign (initializer_list<value_type> il);


insert: insert a/some new elements in the vector
erase: 删除部分元素
swap: 交换两个vector的值
clear :清除所有元素
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值