C++:vector 的使用

std::vector


容器属性

序列 | 动态数组Allocator-aware

序列容器的元素按严格线性排列,可按顺序访问它们的位置;

动态数组允许直接访问其任何元素,可快速在序列末尾相对快速进行元素添加 / 删除;

容器通过 allocator 对象动态处理存储需求


迭代器相关函数:

(public member function )

begin

将迭代器返回到开头(增长方向:begin -> end)

end

将迭代器返回到结尾

rbegin

返回反向迭代器以反向开始(增长方向:rbegin -> rend)

rend

将反向迭代器返回到反向结束

cbegin (C++11)

将const_iterator返回到开头(与begin类似,区别在于begin指向的值可以改变,cbegin指向的值不可改变)

cend (C++11)

将const_iterator返回到开头末尾

crbegin (C++11)

返回const_reverse_iterator以反向开始

crend (C++11)

将const_reverse_iterator返回到反向结束


容量相关函数:

(public member function )

size

返回目前元素的数量

max_size

返回可以拓展的最大容量

resize

改变目前容器

capacity

返回已经分配给容器的大小

empty

判断容器是否为空

reserve

改变容器的预留空间的大小,影响capacity,不影响 size

shrink_to_fit (C++11)

缩小容量到较适合的程度,影响capacity,不影响size


元素访问操作:

(public member function )

operator[]

直接访问指定位置的元素

at

直接访问指定位置的元素,指定位置超出有效范围会报出异常

front

访问首元素

back

访问尾元素

data (C++11)

返回指向数组首元素的指针


修改元素操作:

(public member function )

assign

分配容器的内容

push_back

在尾部添加一个元素

pop_back

在尾部删除一个元素

insert

迭代器位置插入元素,或者插入连续的序列

erase

擦除迭代器位置的元素,或者擦除连续的序列

swap

交换两个容器的内容

clear

清空容器的内容

emplace (C++11)

在迭代器位置插入元素(emplace使用直接构造函数,insert使用复制构造函数)

emplace_back (C++11)

在尾部添加一个元素


 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值