序列 | 动态数组 | 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
改变目前容器的大小
empty
判断容器是否为空
shrink_to_fit (C++11)
缩小容量到较适合的程度,影响capacity,不影响size
(public member function )
operator[]
直接访问指定位置的元素
at
直接访问指定位置的元素,指定位置超出有效范围会报出异常
front
访问首元素
back
访问尾元素
(public member function )
assign
分配容器的内容
push_back
在尾部添加一个元素
push_front
在首部添加一个元素
pop_back
在尾部删除一个元素
pop_front
在首部删除一个元素
insert
迭代器位置插入元素,或者插入连续的序列
erase
擦除迭代器位置的元素,或者擦除连续的序列
swap
交换两个容器的内容
clear
清空容器的内容
emplace (C++11)
在迭代器位置插入元素(emplace使用直接构造函数,insert使用复制构造函数)
emplace_front (C++11)
在首部添加一个元素
emplace_back (C++11)
在尾部添加一个元素