说明

     QVector类是一个提供动态数组的模板类,提供基于索引的快速访问。

     Vector优点

          1、内存连续,导致增加、查询元素效率较快。

          2、随着元素的增减,Vector自动动态增减内存大小。

     Vector缺点

          1、内存连续,导致插入、删除元素效率较慢。

使用接口
#include <QVector> /* 定义int类型的QVector容器 */
QVector<int> testVector;/* 创建空容器 */
QVector()/* 创建可定义容量的容器 */
QVector(int size)/* 创建包含size个value的容器 */
QVector(int size, const T &value)/* 深拷贝容器为新容器 */
QVector(const QVector<T> &other)/* 构造容器,使其指向同个容器 */
QVector(QVector<T> &&other)/* 从C++11的std::initializer_list构造容器 */
QVector(std::initializer_list<T> args)/* 析构 */
~QVector()/* 末尾追加元素 */
void append(const T &value)/* int three = 3;testVector.append(std::move(three));
*/
void append(T &&value)/* 将另个容器追加到当前容器末尾 */
void append(const QVector<T> &value)/* 索引获取容器值 */
const T &at(int i) const/* 引用方式返回容器最后一个,可修改 */
QVector::reference back()       /* 常量引用方式返回容器最后一个 */
QVector::const_reference back() const/* 返回容器第1个元素的迭代器 */
QVector::iterator begin()/* 返回容器第1个元素的常量迭代器 */
QVector::const_iterator begin() const/* 返回在不强制重新分配的情况下可以存储在向量中的最大项目数。 */
int capacity() const/* 返回容器第1个元素的常量迭代器 */
QVector::const_iterator cbegin() const/* 返回容器最后1个元素的常量迭代器 */
QVector::const_iterator cend() const/* 从向量中删除所有元素。 */
void clear()/* 返回容器第1个元素的常量迭代器 */
QVector::const_iterator constBegin() const/* 返回容器首个地址,常量指针 */
const T *constData() const/* 返回容器最后1个元素的常量迭代器 */
QVector::const_iterator constEnd() const/* 返回容器首个数据的地址,常量指针 */
const T & constFirst() const/* 返回容器末尾数据的地址,常量指针 */
const T & constLast() const/* 是否包含值 */
bool contains(const T &value) const/* 该值存在的个数 */
int count(const T &value) const/* 和size差不多 */
int count() const/* 返回开始位置常量反向迭代器 */
QVector::const_reverse_iterator crbegin() const/* 返回末尾位置常量反向迭代器 */
QVector::const_reverse_iterator crend() const/* 返回容器首个数据的指针 */
T *data()/* 返回容器首个数据的常量指针 */
const T *data() const/* 容器是否为空 */
bool empty() const/* 返回容器最后1个元素的迭代器 */
QVector::iterator end()/* 返回容器最后1个元素的常量迭代器 */
QVector::const_iterator end() const/* 是否以value结尾 */
bool endsWith(const T &value) const/* 删除容器迭代器位置,返回下一个迭代器 */
QVector::iterator erase(QVector::iterator pos)/* 删除容器迭代器区间内容,返回下一个迭代器 */
QVector::iterator erase(QVector::iterator begin, QVector::iterator end)/* 填充size个value */
QVector<T> &fill(const T &value, int size = ...)/* 返回容器首个元素的引用 */
T & first()/* 返回容器首个元素的常引用 */
const T & first() const/* 返回容器首个元素的引用,兼容STL */
T & front()/* 返回容器首个元素的常引用,兼容STL */
QVector::const_reference front() const/* 返回value所在容器的索引号,没有返回-1 */
int indexOf(const T &value, int from = ...) const/* 按i的索引插入 */
void insert(int i, T &&value)/* 按i的索引插入 */
void insert(int i, const T &value)/* 按i的索引插入count个value */
void insert(int i, int count, const T &value)/* 按before迭代器位置插入count个value */
QVector::iterator insert(QVector::iterator before, int count, const T &value)/* 按before迭代器位置插入value */
QVector::iterator insert(QVector::iterator before, const T &value)/* 按before迭代器位置插入value */
QVector::iterator insert(QVector::iterator before, T &&value)/* 是否为空 */
bool isEmpty() const/* 最后一个值的引用 */
T & last()/* 最后一个值的常引用 */
const T & last() const/* 从后往前返回value所在的索引 */
int lastIndexOf(const T &value, int from = ...) const/* 返回容器长度 */
int length() const/* 从容器pos位置开始length个元素,组成新的容器返回 */
QVector<T> mid(int pos, int length = ...) const/* 容器将一个索引值移动到另一个索引的值中 */
void move(int from, int to)/* 删除最后一个元素 */
void pop_back()/* 删除头部元素 */
void pop_front()/* 与insert功能相同*/
void prepend(T &&value)/* 与insert功能相同 */
void prepend(const T &value)/* 尾部插入元素 */
void push_back(const T &value)/* 尾部插入元素 */
void push_back(T &&value)/* 头部插入元素 */
void push_front(T &&value)/* 头部插入元素 */
void push_front(const T &value)/* 返回容器颠倒开始的迭代器 */
QVector::reverse_iterator rbegin()/* 返回容器颠倒开始的常迭代器 */
QVector::const_reverse_iterator rbegin() const/* 按索引值删除元素 */
void remove(int i)/* 从第i个开始删除count个 */
void remove(int i, int count)/* 删除所有与t的值相同的元素 */
int removeAll(const T &t)/* 相当于remove(i) */
void removeAt(int i)/* 删除头 */
void removeFirst()/* 删除尾 */
void removeLast()/* 删除第一个与t值相同的元素 */
bool removeOne(const T &t)/* 返回末尾颠倒的迭代器 */
QVector::reverse_iterator rend()/* 返回末尾颠倒的常迭代器 */
QVector::const_reverse_iterator rend() const/* 将容器第i个元素用value代替 */
void replace(int i, const T &value)/* 拟创建size个元素,不实际创建 */
void reserve(int size)/* 拟创建size个元素,实际创建 */
void resize(int size)/* 缩减容器 */
void shrink_to_fit()/* 返回容器元素个数 */
int size() const/* 释放存储项目不需要的任何内存 */
void squeeze()/* 是否以value值开始 */
bool startsWith(const T &value) const/* 互换两个容器内容 */
void swap(QVector<T> &other)/* 找到索引i的元素后,删除i索引。返回该元素 */
T takeAt(int i)/* 删除头元素,返回删除的头值 */
T takeFirst()/* 删除尾元素,返回删除的尾值 */
T takeLast()/* 将QVector转为QList */
QList<T> toList() const/* 将QVector转为std::vector */
std::vector<T> toStdVector() const/* 根据索引返回值 */
T value(int i) const/* 根据索引返回值,若没有索引则返回默认值 */
T value(int i, const T &defaultValue) const/* 判断两容器是否不同 */
bool operator!=(const QVector<T> &other) const/* 深拷贝方式相加容器 */
QVector<T> operator+(const QVector<T> &other) const/* 深拷贝方式追加容器 */
QVector<T> & operator+=(const QVector<T> &other)/* 深拷贝方式追加值 */
QVector<T> & operator+=(const T &value)/* 深拷贝方式追加容器 */
QVector<T> & operator+=(T &&value)/* 深拷贝方式追加值 */
QVector<T> & operator<<(const T &value)/* 深拷贝方式追加容器 */
QVector<T> & operator<<(const QVector<T> &other)/* 追加值到容器 */
QVector<T> & operator<<(T &&value)/* 深拷贝复制容器 */
QVector<T> & operator=(const QVector<T> &other)/* 复制容器 */
QVector<T> & operator=(QVector<T> &&other)/* 判断两个容器是否相同 */
bool operator==(const QVector<T> &other) const/* 下标方式返回引用值 */
T & operator[](int i)/* 下标方式返回常量值 */
const T & operator[](int i) const

关注

笔者 - jxd      (码农总动员)

Qt —— QVector相关推荐

  1. QT,QVector 基本用法,遍历[实例讲解]

    QVector,是Qt对所有数组的封装,比如我们想要一个int类型数组,我们原先会写int array[10],我们在Qt里可以写QVector <int>  array(10),赋值的时 ...

  2. Qt QVector 详解:从底层原理到高级用法

    目录标题 引言:QVector的重要性与简介 QVector的常用接口 QVector和std::Vector 迭代器:遍历QVector 中的元素(Iterators: Traversing Ele ...

  3. Qt QVector “isDetached()“

    文章目录 摘要 尝试通过加锁解决 lock&unlock QMutexLocker try_lock 改变量属性 Q_ASSERT 参考 关键字: ASSERT. isDetached. 崩溃 ...

  4. Qt QVector常见使用方法

    仅在此简单介绍QVector的一些常见函数,有兴趣的可以查下QT,在QT中介绍的很详细 构造函数,QVector的构造函数很多样化,常见的有 1 QVector() 无参的构造函数 2 3 QVect ...

  5. Qt QVector简单用法

    添加元素 QVector<QString> strArray; strArray.append("Hello"); 遍历 QVector<QString>: ...

  6. 遍历qvector_转:Qt 之 QVector

    QVector类是一个提供动态数组的模板类. QVector是Qt普通容器类的一种.它将自己的每一个对象存储在连续的内存中,可以使用索引号来快速访问它们.QList.QLinkedList和 QVar ...

  7. QT QVectorQPairQString, qint64 qSort 排序

    QT的算法与容器之类的与存C++有一些区别. 头文件: #include <qalgorithms.h> //这个用于qt排序算法qSort的. #include <QVector& ...

  8. QT学习之路-资料收藏集锦

    目录 C++知识 Qt项目与文件 Qt基础类 Qt图形控件和GUI Qt图形绘制和图像处理 Qt与计算机硬件 常见问题 C++知识 C++ 枚举类型作用域的思考 C++中enum用法 C语言使用枚举类 ...

  9. Qt中的问题和方法总结

    1. QString与String的转换 //1.QString转换String QString qstr = "hello"; string str = qstr.toStdSt ...

最新文章

  1. mongodb中简单的聚合查询
  2. python 日志输出模块--两种方法
  3. 如何从Java中的字符串值获取枚举值?
  4. 如何安全设置无线路由
  5. Android -- Fragment动画异常Unknown animation name: objectAnimator
  6. pycharm创建django项目linux部署
  7. mysql galera status_MySQL galera cluster集群的监控
  8. 由项目中的一个小问题所联想到的。
  9. ajax 异步加载 list集合数据
  10. 仿新浪微盾客户端项目简介一
  11. Python爬取斗鱼弹幕——多房间同时抓取实现(一)
  12. 网页设计理论知识(色彩搭配)
  13. 仿美团下拉菜单 html,React Native仿美团下拉菜单的实例代码
  14. ElasticSearch License过期更新
  15. hubot+slack(slack部分)
  16. python中scroll的用法_Python_关于self.cur.scroll()的使用理解
  17. 海天蚝油《挑战不可能》7岁孩子盲棋PK,目标直指冠军王天一
  18. 深入浅出使用python编程_深入浅出Python元编程
  19. DON'T PANIC!11月13日,让我们带你漫游区块链技术
  20. 云服务器对比网站,云主机与普通服务器对比

热门文章

  1. 不会整理收纳的人的思维方式和行为模式
  2. php特有的调味植物,花椒—从贵族专享到为百姓调味?
  3. r5 4600u和i5 1135g7哪个更强 r5 4600u和i5 1135g7对比评测
  4. Python课堂17--面向对象-封装
  5. 北京2021唐诗童高考成绩查询,2021北京高考成绩查询时间:6月下旬可查,6月27日起填报本科志愿...
  6. 计算机操作系统——页面置换FIFO算法(C#)
  7. EasyCVR编译中通过NSQ实现消息传输及发送的使用总结
  8. ubuntu重启快捷键
  9. 3.15国际消费者权益日:消费者隐私威胁与保护
  10. 798.得分最高的最小轮调