栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

C++ 向量 vector 容器

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C++ 向量 vector 容器

一、定义

向量(Vector)是一个封装了动态大小数组的顺序容器(Sequence Container),是一个能够存放任意类型对象的动态数组。

二、基本用法

1、构造方法

  • vector(int nSize,const t& t):创建一个vector,元素个数为nSize,且值均为t(省略则为空)
  • vector(const vector&):复制构造函数
  • vector(begin,end):复制[begin,end)区间内另一个数组的元素到vector中

2、添加

  • void push_back(const T& x):向量尾部增加一个元素X
  • emplace_back():作用相同但优于push_back,只能用于c++11版本以上。原理和empalce相同
  • insert() 
  • emplace()

insert()函数语法说明: 

iterator insert(pos,elem)在迭代器 pos 指定的位置之前插入一个新元素elem,并返回表示新插入元素位置的迭代器。
iterator insert(pos,n,elem)在迭代器 pos 指定的位置之前插入 n 个元素 elem,并返回表示第一个新插入元素位置的迭代器。
iterator insert(pos,first,last) 在迭代器 pos 指定的位置之前,插入其他容器(不仅限于vector)中位于 [first,last) 区域的所有元素,并返回表示第一个新插入元素位置的迭代器。
iterator insert(pos,initlist)在迭代器 pos 指定的位置之前,插入初始化列表(用大括号{}括起来的多个元素,中间有逗号隔开)中所有的元素,并返回表示第一个新插入元素位置的迭代器。

emplace()函数语法说明:

在 vector 容器指定位置之前插入一个新的元素。

iterator emplace (const_iterator pos, args...);

通过 insert() 函数向 vector 容器中插入 testDemo 类对象,需要调用类的构造函数和移动构造函数(或拷贝构造函数);而通过 emplace() 函数实现同样的功能,只需要调用构造函数即可。

 emplace() 和 insert() 都能完成向 vector 容器中插入新元素,emplace() 运行效率更高,故推荐使用emplace()。

3、删除

  • void pop_back():删除向量中最后一个元素
  • void clear():清除向量中所有元素

 4、遍历

  • iterator begin():返回向量头指针,指向第一个元素
  • iterator end():返回向量尾指针,指向向量最后一个元素的下一个位置
  • reference at(int pos):返回pos位置元素的引用
  • reference front():返回首元素的引用
  • reference back():返回尾元素的引用
  • reverse_iterator rbegin():反向迭代器,指向最后一个元素
  • reverse_iterator rend():反向迭代器,指向第一个元素之前的位置

 五、判断

  • bool empty() const:判断向量是否为空,若为空,则向量中无元素

 六、空间、长度

  • int size() const:返回向量中元素的个数
  • int capacity() const:返回当前向量所能容纳的最大元素值
  • int max_size() const:返回最大可允许的vector元素数量值

 七、

  • void swap(vector&):交换两个同类型向量的数据
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/333437.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号