Qt的QVector类是一个类似标准C++vector的容器类(container class),它将数据存储在连续的内存空间里,因此在执行prepend、insert操作的时候比QList类慢。

如果用户需要保证向容器中间插入数据的时间短的话,应该使用QLinkedList类。

如果用户想使容器占用的内存连续且省去插入时在堆中分配内存的时间的话,应该使用QVector类。

QVector类的构造函数可以是空,也可以预先分配一定数量的内存

该类支持index-based API(operator[])和Java-style iterators访问,如果只是想读取容器中的数据,可以使用at方法避免深拷贝

容器的头指针可以通过data方法返回,这个指针对于一些普通C++函数非常有用

查询某一个值在容器中的位置可以通过indexOf和lastIndexOf方法,前者从容器头开始,返回第一个找到的该值的位置,后者从容器尾开始;如果仅仅想知道容器内是否含有某个值,可以用contains方法;若想知道某值出现的次数,可以使用count方法

如果想在程序运行过程中重新分配容器空间,可以使用resize,如果事先知道所需内存的大概数量,可以通过reserve方法预先分配内存,容器占用的内存数量可以用capacity方法得到

容器的值必须可以被赋值,不能被赋值的可以采用指针存储

Qt的QVector类相关推荐

  1. QT的QVector类的使用

    详细说明 QVector类是提供动态数组的模板类. QVector 是Qt的通用容器类之一.它将项目存储在相邻的内存位置,并提供基于索引的快速访问. QList ,QLinkedList ,QVect ...

  2. 【QT 基础教程 九】QVector类详解

    概要:本期主要讲解Qt中QVector容器类的常用接口. 一.简介: 头文件:#include<QVector> 模块: QT += core 功能:主要用于数据存储,可以类比C++中的泛 ...

  3. Qt之QVector基本用法

      QVector类是一个提供动态数组的模板类,是Qt对所有数组的封装.   之前我们定义一个int型的数组,我们会写int array[10],现在在Qt里我们可以定义成QVector< in ...

  4. QT中QVector的基本用法

    一.利用data把QVector中的数据取出来 T *QVector::data() Returns a pointer to the data stored in the vector. The p ...

  5. 遍历qvector_转:Qt 之 QVector

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

  6. 遍历qvector_Qt容器类——1. QList类、QLinkedList类和QVector类

    在开发一个较高性能需求的应用程序时,程序员会比较关注这些容器类的运行效率,表2.1列出了QList.QLinkedList和QVector容器的时间复杂度比较. 1.QList类 QList是迄今为止 ...

  7. Qt 的QString类的使用

    Qt的QString类提供了很方便的对字符串操作的接口. 使某个字符填满字符串,也就是说字符串里的所有字符都有等长度的ch来代替. QString::fill ( QChar ch, int size ...

  8. Qt的QStyle类的标准图标汇总

    Qt的QStyle类的标准图标用代码显示在界面如下: #include "QtWidgetsApplication1.h" #include<QPushButton> ...

  9. Qt之QImage类

    文章目录 QT--QImage类 QImage获取图像的数据信息 QImage图像格式转换 由RGB格式转换为BGR格式 将彩色图转换为灰度图 图像保存 QImage图像显示在QLabel上 QPix ...

最新文章

  1. ORACLE内存结构简介
  2. boost::sort::sample_sort相关的测试程序
  3. faster-rcnn中添加Mask中的RoiAlign层,使回归框更精确( roi_align_layer.cu:240] Check failed: error == cudaSuccess *)
  4. SAP UI5应用debug级别的日志打印如何设置
  5. exchange 2010申请分配证书服务提示:证书无效,不可用于exchange server
  6. 开源在线考试系统推荐-支持web端和小程序
  7. 4.15_strategy_行为型模式:策略模式
  8. MAC编译OpenJDK8:详细步骤及问题解决办法(含独家解决办法)
  9. Oracle 系列 统计信息详解(Statistic)
  10. OSError: inotify watch limit reached
  11. java 龟兔赛跑_Java实现多线程模拟龟兔赛跑
  12. zerg发出了第一个报文,纪念一下!!!
  13. 【模型分享】全网质量最高最全《王者荣耀》角色3D模型独立角色
  14. android pak文件_xpak是什么文件 怎么安装xapk文件 和apk有什么区别
  15. 利用gdal给影像添加金字塔
  16. BUG InvalidArgumentError (see above for traceback): You must feed a value for placeholder tensor 'Pl
  17. GDI函数 坐标系综述
  18. nvme分区选mbr还是guid_固态硬盘安装win10系统,关于分区的这些注意事项你都知道吗?...
  19. 仿iphone输入法_如何在iPhone上的法氏温度和摄氏温度之间切换
  20. U盘将FAT32转换NTFS时提示卷有不一致性请运行chkdsk,这样处理就ok

热门文章

  1. h5活动是什么意思_h5是什么(H5和Html5是一个东西吗)
  2. matlab复杂函数多元函数拟合
  3. ElasticSearch painless脚本实现自定义打分排序
  4. 如何成为一名正义黑客?你应该学习什么?
  5. k8s之HPA(Pod水平自动伸缩)
  6. python画图颜色代码rgb_如何获取matplotlib颜色方案的RGB值?
  7. What?Poly又双叒叕发新品了?
  8. 深度学习模型DNN部署到安卓设备上全流程示例——{pytorch->onnx>ncnn->Android studio}
  9. STM32F1案例 ST7735 TFT液晶显示屏综合库使用
  10. linux报ora12560,测试ORA-12560和ORA-12500