vector<int> ivec;
vector<Sales_item> Sales_vec;
和其他变量定义一样,定义 vector 对象要指定类型和一个变量的列表。上
面的第一个定义,类型是 vector<int>,该类型即是含有若干 int 类型对象的
vector,变量名为 ivec。第二个定义的变量名是 Sales_vec,它所保存的元素
是 Sales_item 类型的对象。

vector<T> v1; vector 保存类型为 T 对象。默认构造函数 v1 为空。
vector<T> v2(v1); v2 是 v1 的一个副本。
vector<T> v3(n, i); v3 包含 n 个值为 i 的元素。
vector<T> v4(n); v4 含有值初始化的元素的 n 个副本。

v.empty() 如果 v 为空,则返回 true,否则返回 false。

v.size() 返回 v 中元素的个数

v.empty() 如果 v 为空,则返回 true,否则返回 false。

v.push_back(t) 在 v 的末尾增加一个值为 t 的元素。

v[n] 返回 v 中位置为 n 的元素。

v1 = v2 把 v1 的元素替换为 v2 中元素的副本
。
v1 == v2 如果 v1 与 v2 相等,则返回 true。

!=, <, <=,>, and >=保持这些操作符

ector函数表
 vector<T>是可边长的向量,比较灵活
☆ value_type;//对象类型T,存储在vector中 [定义地方:容器]
☆ pointer;//指向T的指针 [容器]
☆ reference;//T的引用 [容器]
☆ const_reference;//T的常量引用 [容器]
☆ size_type;//正整数类型 [容器]
☆ difference_type;//整数类型 [容器]
☆ iterator ;//访问vector的迭代器 [容器]
☆ const_iterator;//访问vector的常量迭代器 [容器]
☆ reverse_iterator;//访问vector的反向迭代器 [Reversible容器]
☆ const_reverse_iterator;//访问vector的反向迭代器 [Reversible容器]
☆ iterator begin();//返回vector的头指针 [容器]
☆ iterator end();//返回vector的尾指针 [容器]
☆ const_iterator begin() const;//返回vector的常量头指针 [容器]
 ☆ const_iterator end() const;//返回vector的常量尾指针 [容器]
☆ reverse_iterator rbegin();//返回反向vector的反向头指针 [Reversible容器]
☆ reverse_iterator rend();//返回反向vector的反向尾指针 [Reversible容器]
☆ const reverse_iterator rbegin() const;//返回反向vector的反向常量头指针 [Reversible容器]
☆ const_reverse_iterator rend() const();//返回反向vector的反向常量尾指针 [Reversible容器]
☆ size_type size() const;//返回vector的元素数量 [容器]
☆ size_type max_size() const;// 返回最大可允许的vector元素数量值 [容器]
☆size_type capacity() const;//返回当前所能容纳的最多元素个数 [vector]
☆bool empty() const;//判断vector是否为空 [容器]
☆reference operator[](size_type n); //返回第n个元素 [Random Access容器]
☆const_reerence operator[](size_type n)const; //返回第n个元素 [Random Access容器]
☆vector();//创建一个空vector [容器]
☆vector(size_type n);//创建一个vector,元素数量为n [Sequence]
☆vector(size_type n, const T& t);//创建一个vector,元素数量为n,大小都为t[Sequence]
☆vector(const vector &);//拷贝构造函数 [容器]
☆template<class InputIterator>vector(InputIterator, InputIterator); [Sequence] //采用拷贝的方法创建一个vector,指定了范围 ☆~vector();// vector的析构函数 [容器]
☆vector& operator=(const vector&);//=运算符重载 [容器]
☆void reserve(size_t n);//为vector预先分配n个元素 [vector]
☆reference front();// 返回第一个元素 [Sequence] ☆const_reference front() const;//返回第一个元素 [Sequence] ☆reference back();//返回最后一个元素 [Back Insertion Sequence]
☆const_reference back() const;//返回最后一个元素 [Back Insertion Sequence]
☆void push_back(const T&);//在vector尾部插入一个元素 [Back Insertion Sequence]
☆void pop_back();//删除最后一个元素 [Back Insertion Sequence]
☆void swap(vector&);//交换两个vector的内容 [容器]
☆iterator insert(iterator pos, const T& x);//在pos前出入x [Sequence]
☆template<class InputIterator>void insert(iterator pos, InputIteratorf, InputIterator I); //在位置pos位置前插入范围为[fisrt, last]的元素 [Sequence]
 ☆void insert(iterator pos, size_type n, const T& x);//在位置pos前出入n个x [Sequence]
☆iterator erase(iterator pos);//删除在位置pos的元素 [Sequence]
 ☆iterator erase(iterator first, iterator last);//删除在[first, last]之间的元素 [Sequence]
☆void clear();//删除所有的元素 [Sequence]
☆void resize(size_type n, t = T());//插入或删除使元素个数为n插入的值为t[Sequence]
☆bool operator==(const vector&, const vector&);//重载==运算符 [Forward容器]
☆bool operator<(const vector&, const vector&);//小于逻辑运算符 [Forward容器]
vector类的私有成员:
☆size_type capacity() const;//返回当前所能容纳的最多元素个数,其值不小于size()
 ☆void reserve(size_type n);//如果n小于或等于capacity(),本函数没有作用。否则,它申请分配内存如果申请成功,capacity()值应>=n:如果申请失败,capacity()不变  

vector容器的更多相关文章

  1. 把《c++ primer》读薄(3-2 标准库vector容器+迭代器初探)

    督促读书,总结精华,提炼笔记,抛砖引玉,有不合适的地方,欢迎留言指正. 标准库vector类型初探,同一种类型的对象的集合(类似数组),是一个类模版而不是数据类型,学名容器,负责管理 和 存储的元素 ...

  2. C++ STL vector容器学习

    STL(Standard Template Library)标准模板库是C++最重要的组成部分,它提供了一组表示容器.迭代器.函数对象和算法的模板.其中容器是存储类型相同的数据的结构(如vector, ...

  3. vector容器使用和assert断言关键字

    C++里面的容器是个比较复杂的东西,我这篇只说vector容器怎么使用,详细的网搜. vector模板类其实是一个动态数组,跟自己用new关键字创建数组一样,只不过vector会自动帮我们用new和d ...

  4. C++杂谈(二)初识vector容器与迭代器

    教科书中失踪的vector 很奇怪的一件事情,在当时学习C++的时候,老师并没有讲授容器的内容,当时参考的谭浩强老师的红皮C++也没有这个内容,不知为何.后来再学C++,发现容器是一个很重要的概念,在 ...

  5. vector容器的用法

    转自一篇博客^-^: 1 基本操作 (1)头文件#include<vector>. (2)创建vector对象,vector<int> vec; (3)尾部插入数字:vec.p ...

  6. C++ Daily《2》----vector容器的resize 与 reserve的区别

    C++ STL 库中 vector 容器的 resize 和 reserve 区别是什么? 1. resize 改变 size 大小,而 reserve 改变 capacity, 不改变size. 2 ...

  7. 跟我一起学STL(2)——vector容器详解

    一.引言 在上一个专题中,我们介绍了STL中的六大组件,其中容器组件是大多数人经常使用的,因为STL容器是把运用最广的数据结构实现出来,所以我们写应用程序时运用的比较多.然而容器又可以序列式容器和关联 ...

  8. vector容器+iterator迭代器

    关于vector容器的详细描述,可参考:http://www.jb51.net/article/41648.htm   关于iterator迭代器的描述,可参考http://www.cppblog.c ...

  9. 提高Vector容器的删除效率

    vector容器是类似与一个线性数组,索引效率高,插入,删除的效率很低,需要遍历数据列表,一般情况下vector的删除操作由一下函数完成: iterator erase(iterator positi ...

  10. 标准模板库(STL)学习探究之vector容器

    标准模板库(STL)学习探究之vector容器  C++ Vectors vector是C++标准模板库中的部分内容,它是一个多功能的,能够操作多种数据结构和算法的模板类和函数库.vector之所以被 ...

随机推荐

  1. DbUtility-第一次接触

    DbUtility这个以前就知道,可是由于底层是4.5的框架,我就一直没有仔细看过,最近自己的开发框架升级到了4.5,就开始学习这个组件. 总体来说,这个组件用起来非常简单.举例说明: await d ...

  2. 委托 delegate, 继承

    c# 的委托就是说把函数当参数来传递. 这个在js完全就用不着搞什么委托东西,直接转就是了嘛.对不对!怎么录嘛! 一个函数,如果它的参数是函数,那么是这样子写的 public void method( ...

  3. PCB敷铜小结

    有人说加大敷铜可以加大散热面,其实,对于此我不以为然.我说过铜是一种散热吸热快的金属,如果加大散热面要靠加大敷铜的面积的话,那就没有必要给很多的器件加热片了,我想大家对于计算机都颇有心得,一定攒过电脑 ...

  4. 对类HelloWorld程序中添加一个MessageBox弹窗

    对类HelloWorld程序中添加一个MessageBox弹窗 分析: 任一程序运行的时候都会加载kernel32.dll的,但MessageBoxA()这个API却是在user32.dll中的.所以 ...

  5. SPOJ 0962 Intergalactic Map

    题目大意:在一个无向图中,一个人要从A点赶往B点,之后再赶往C点,且要求中途不能多次经过同一个点.问是否存在这样的路线.(3 <= N <= 30011, 1 <= M <= ...

  6. centos 添加用户

    测试环境:CentOS 6.0 1.添加用户,首先用adduser命令添加一个普通用户,命令如下: #adduser tommy //添加一个名为tommy的用户 #passwd tommy   // ...

  7. python unicodeDecode error

    混淆了 python2 里边的 str 和 unicode 数据类型. 0. 你需要的是让编码用实际编码而不是 ascii 1. 对需要 str->unicode 的代码,可以在前边写上 imp ...

  8. 【KMP+DP】Count the string

    KMP算法的综合练习 DP很久没写搞了半天才明白.本题结合Next[]的意义以及动态规划考察对KMP算法的掌握. Problem Description It is well known that A ...

  9. Engineering Economics

    相关简介 工程经济学 –-研究各种技术在使用过程中如何以最小的投入获得预期产出或者说如何以等量的投入获得最大的产出: –-如何用最低的寿命周期成本实现产品.作业以及服务的必要功能. 软件工程经济学 工 ...

  10. HRBUST 1987 逃课的孩子

    Sol:HASH + 二分  字符串处理,很基础的操作. 题意很明确就是找重复的次数统计下,范围比较大1≤n≤10000,1≤m≤10000. #include <cstdio> #inc ...