序列式容器------vector类模板

Posted 陌尘枫

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了序列式容器------vector类模板相关的知识,希望对你有一定的参考价值。

1、vector是定义于名称空间(namespace)std内的模板,其定义在头文件<vector>中。

  vector中的元素可以是任意类型T,必须具备可设置、可复制两个属性。模板法第二个参数是关于空间配置器设置的,用于定义内存模型,默认内存模型是C++标准库提供的allocator。

2、vector类对象的初始化

  函数push_back()将对象放入容器中,也可以用函数pop_back()将对象弹出。

  vector的对象可以使用reserve()函数预先设置容器的大小,如果没有设置容器的大小,是不允许直接给容器中的元素赋值的。

3、容器的大小和容量

  vector类模板定义了两个函数(size 和 capacity),实现统计容器元素的目的;还定义了两个函数(resize和reserve),实现设置容器大小的目的。

  函数size()和capacity()可以统计容器中元素的数量。size()函数返回容器中现有的元素数量;capacity()函数返回容器中实际能够容纳的元素的数量。函数max_size()可以返回容器所能容纳的最大元素数量。一般情况下,元素数量超越capacity()返回的数值时,vector有必要重新配置内部存储器。

  函数reserve()可以预先设置容器的大小;函数resize()可以修改容器的大小。函数reserve()可以保留适当的容量,避免重新配置内存。当然,在定义容器对象时,通过传递函数的形式,也可以设置vector的起始大小。

4、vector类的成员函数

  (1)判断向量是否为空

    向量模板vector<T>提供了一个函数:empty()。此函数可以判断向量容器中元素是否为0,如果向量为空,函数返回真;如果向量不为空,函数返回非真。

template<class _TYPE, class _A>bool vector::empty()const;

 

以上是关于序列式容器------vector类模板的主要内容,如果未能解决你的问题,请参考以下文章

SGI-STL简记-序列容器(vector)

STL学习笔记--4序列式容器之vector

❤️ STL 序列式容器 vector 超硬核源码剖析 ❤️

C++ STL容器适配器 内容详解

序列式容器————vector

c++ 容器含义