与其它动态序列容器(deque,list 和 forward_list)相比,vector 非常有效地访问其元素(就像 array 一样),并且相对高效地从其末尾添加或删除元素。对于涉及在末尾以外的位置插入或删除元素的操作,它们的性能比其它动态序列容器差,并且与 list 和 forward_list 相比,迭代器和引用的一致性更差。
模板参数(Template parameters)
1
template <class _Ty, class _Alloc = allocator<_Ty>>//_Ty是元素的类型,_Alloc是分配器类型,有默认的分配器
成员函数(Member functions)
1 2 3 4 5 6 7 8 9 10 11 12 13
using value_type = _Ty; using allocator_type = _Alloc; using pointer = typename _Alty_traits::pointer; using const_pointer = typename _Alty_traits::const_pointer; using reference = _Ty&; using const_reference = const _Ty&; using size_type = typename _Alty_traits::size_type; using difference_type = typename _Alty_traits::difference_type;
using iterator = _Vector_iterator<_Scary_val>; using const_iterator = _Vector_const_iterator<_Scary_val>; using reverse_iterator = _STD reverse_iterator<iterator>; using const_reverse_iterator = _STD reverse_iterator<const_iterator>;
v 的第 0 个元素:41 v 的第 1 个元素:18467 v 的第 2 个元素:6334 v 的第 3 个元素:26500 v 的第 4 个元素:19169 v 的第 5 个元素:15724 v 的第 6 个元素:11478 v 的第 7 个元素:29358 v 的第 8 个元素:26962 v 的第 9 个元素:24464
assign的第一种用法 t 的第 0 个元素:41 t 的第 1 个元素:18467 t 的第 2 个元素:6334 t 的第 3 个元素:26500 t 的第 4 个元素:19169
assign的第二种用法 t 的第 0 个元素:1 t 的第 1 个元素:1 t 的第 2 个元素:1 t 的第 3 个元素:1 t 的第 4 个元素:1 t 的第 5 个元素:1 t 的第 6 个元素:1 t 的第 7 个元素:1 t 的第 8 个元素:1 t 的第 9 个元素:1
push_back(100) t 的第 0 个元素:1 t 的第 1 个元素:1 t 的第 2 个元素:1 t 的第 3 个元素:1 t 的第 4 个元素:1 t 的第 5 个元素:1 t 的第 6 个元素:1 t 的第 7 个元素:1 t 的第 8 个元素:1 t 的第 9 个元素:1 t 的第 10 个元素:100
pop_back() t 的第 0 个元素:1 t 的第 1 个元素:1 t 的第 2 个元素:1 t 的第 3 个元素:1 t 的第 4 个元素:1 t 的第 5 个元素:1 t 的第 6 个元素:1 t 的第 7 个元素:1 t 的第 8 个元素:1 t 的第 9 个元素:1
insert(t.begin(), 100) t 的第 0 个元素:100 t 的第 1 个元素:1 t 的第 2 个元素:1 t 的第 3 个元素:1 t 的第 4 个元素:1 t 的第 5 个元素:1 t 的第 6 个元素:1 t 的第 7 个元素:1 t 的第 8 个元素:1 t 的第 9 个元素:1 t 的第 10 个元素:1
erase(t.begin()) t 的第 0 个元素:1 t 的第 1 个元素:1 t 的第 2 个元素:1 t 的第 3 个元素:1 t 的第 4 个元素:1 t 的第 5 个元素:1 t 的第 6 个元素:1 t 的第 7 个元素:1 t 的第 8 个元素:1 t 的第 9 个元素:1
t.swap(v) t 的第 0 个元素:41 t 的第 1 个元素:18467 t 的第 2 个元素:6334 t 的第 3 个元素:26500 t 的第 4 个元素:19169