C ++库 -<vector>

简介

向量是可以改变大小的序列容器. Container是保存相同类型数据的对象.序列容器严格按线性顺序存储元素.

Vector将元素存储在连续的内存位置,并允许使用下标operator []直接访问任何元素.与数组不同,vector可以在运行时根据需要缩小或扩展.向量的存储是自动处理的.

为了在运行时支持收缩和扩展功能,向量容器可以分配一些额外的存储空间以适应可能的增长,因此容器的实际容量大于大小.因此,与数组相比,vector可以消耗更多内存,以换取管理存储和以有效方式动态增长的能力.

零大小的向量也是有效的.在那种情况下,vector.begin()和vector.end()指向相同的位置.但是调用front()或back()的行为是未定义的.

定义

下面是来自< vector>的std :: vector的定义.头文件

template < class T, class Alloc = allocator<T> > class vector;

参数

  • T : 包含的元素的类型.

    T可以被任何其他数据类型替换,包括用户定义的类型.

  • Alloc : 分配器对象的类型.

    默认情况下,使用allocator类模板,该模板定义了最简单的内存分配模型,并且与值无关.

成员类型

以下成员类型可用作参数或按成员函数返回类型.

Sr.No.成员类型定义
1value_typeT(模板的第一个参数)
2allocator_typeAlloc(模板的第二个参数)
3referencevalue_type&
4const_referenceconst value_type&
5pointervalue_type *
6const_pointerconst value_type *
7iterator随机访问iterator到value_type
8const_iterator随机访问迭代器到const value_type
9reverse_iteratorstd :: reverse_iterator< iterator>
10const_reverse_iteratorstd :: reverse_iterator< const_iterator>
11size_typesize_t
12difference_typeptrdiff_t