码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2017-10-03 10:36:57      阅读:144      评论:0      收藏:0      [点我收藏+]

标签:std   res   ack   ace   类模板   属性   pop   不为   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类模板

标签:std   res   ack   ace   类模板   属性   pop   不为   vector   

原文地址:http://www.cnblogs.com/CZT-TS/p/7623298.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!