()使用vector之前必须包含头文件<vector>:#include<vector>

 ()namespace std{
template <class T,
class Allocator = allocator<T> >
class vector;
}
vector的元素可以是任意类型T,但必须具备assignable和copyable两个性质。第二个template参数可有可无,用来定义内存模型,缺省的模型是C++标准程序库提供的allocator。 ()在末端附加或删除元素时,vector的性能相当好。可是如果你在前端或中部安插或删除元素,性能就不怎么样了,因为操作点之后的每一个元素都必须移动到另一个位置,而每一次移动都得调用assignment操作符 ()vector性能优异的秘籍之一就是配置比其所容纳的元素所需更多的内存。当vector申请的内存被用尽时,vector会重新申请一片新的内存,通常新申请的内存会是原来内存的两倍.一旦内存重新配置,和vector元素相关的所有references,pointers,iterators都会失效 ()vector的各项操作:
vector<Elem> c 产生一个空vector
vector<Elem> c1(c2) 产生另一个同型vector的副本
vector<Elem> c(n) 利用元素的default构造函数生成一个大小为n的vector
vector<Elem> c(n, elem) 产生一个大小为n的vector,每个元素值都是elem
vector<Elem> c(beg, end) 产生一个vector,以区间[beg, end)作为元素初值
c.~vector<Elem>() 销毁所有元素并释放内存 c.size() 返回当前的元素数量
c.empty() 判断vector是否为空
c.max_size() 返回可容纳的元素最大数值
c.capacity() 返回重新分配空间前所能容纳的元素最大数量
c.reserve() 如果容量不足,扩大之
c1 compare c2 compare可为==,!=,<,>,<=和>= c1 = c2 将c2全部元素赋值给c1
c.assign(n, elem) 复制n个elem,赋值给c
c.assign(beg, end) 将区间[beg, end)内的元素赋值给c
c1.swap(c2) 将c1和c2元素互换 c.at(idx) 返回索引idx所标示的元素,如果idx越界则抛出out_of_range异常
c[idx] 返回索引idx所标示的元素,不进行范围检查
c.front() 返回第一个元素,不检查元素是否存在
c.back() 返回最后一个元素,不检查元素是否存在 c.begin() 返回一个随机存取迭代器,指向第一个元素
c.end() 返回一个随机存取迭代器,指向最后元素的下一个位置
c.rbegin() 返回一个逆向迭代器,指向逆向迭代的第一个元素
c.rend() 返回一个逆向迭代器,指向逆向迭代的最后元素的下一个位置
vector迭代器持续有效,除非发生两种情况:()使用者在一个较小的索引位置上安插或移除元素()由于容量的变化而引起内存的重新分配 c.insert(it, elem) 在it位置上插入一个elem副本并返回新元素的位置
c.insert(it, n, elem) 在it位置上插入n个elem副本,无返回值
c.insert(it, beg, end) 在it位置上插入区间[beg, end)内的所有元素副本,无返回值
c.push_back(elem) 在尾部添加一个elem副本
c.pop_back() 移除最后一个元素(但不回传)
c.erase(it) 移除it位置上的元素,返回下一个元素的位置
c.erase(beg, end) 移除[beg, end)区间内的所有元素,返回下一个元素的位置
c.resize(num) 将元素数量改为num(如果size()变大了,多出来的新元素都需以default构造函数构造完成)
c.resize(num, elem) 将元素数量改为num(如果size()变大了,多出来的新元素都是elem的副本)
c.clear() 将容器清空

最新文章

  1. JMeter专题系列(五)检查点
  2. ios如何一个证书多台设备测试
  3. CXF之一 基础理论介绍
  4. Android——显示当前运行所有服务,判断服务是否运行
  5. 如何在tomcat启动的时候运行一个Java类
  6. web worker使用
  7. (五)boost库之随机数random
  8. Java中的import
  9. Linux网络设备驱动架構學習(三)
  10. C++sort函数使用总结
  11. OpenCASCADE 参数曲线曲面面积
  12. 最新鲜最详细的Android SDK下载安装及配置教程
  13. springboot 学习之路 8 (整合websocket(1))
  14. Statement和PreparedStatement的异同
  15. Confluence 6 XML 备份恢复失败的问题解决
  16. qhfl-6 购物车
  17. 4S店的潜规则内幕曝光
  18. day16-python常用的内置模块2
  19. UI设计教程分享:PS故障风海报制作教程
  20. mfc 动态为控件添加事件1

热门文章

  1. Gridview用法大总结
  2. Linux操作系统shell与函数详解
  3. 26数据查询的各种小玩法-select 下(必学)-天轰穿sqlserver视频教程
  4. NAS服务器局域网内IPad、手机、电视盒子等联网播放
  5. 用node开发repl应用
  6. jquery easyui 插件开发
  7. Android的Activity屏幕切换动画(一)-左右滑动切换
  8. Scala 深入浅出实战经典 第42讲:scala 泛型类,泛型函数,泛型在spark中的广泛应用
  9. 打包时Xcode报:此证书的签发者无效Missing iOS Distribution signing identity
  10. 我爱免费之FreeFileSync文件夹同步软件