QT的QVector类的使用
详细说明
QVector类是提供动态数组的模板类。
QVector 是Qt的通用容器类之一。它将项目存储在相邻的内存位置,并提供基于索引的快速访问。
QList ,QLinkedList ,QVector 和QVarLengthArray 提供类似的API和功能。它们通常是可互换的,但是会带来性能后果。以下是用例的概述:
QVector应该是您的默认首选。 QVector 通常会提供比QList 更好的性能,因为QVector 始终将其项顺序存储在内存中,其中QList 会将其项分配在堆上,除非sizeof(T)<= sizeof(void *),并且已使用Q_DECLARE_TYPEINFO将T声明为Q_MOVABLE_TYPE或Q_PRIMITIVE_TYPE。有关说明,请参见使用QList的优缺点。
但是,整个Qt API都使用QList来传递参数和返回值。使用QList与这些API交互。
如果您需要一个真正的链表,该链表可以保证在列表中插入固定时间并使用迭代器而不是索引,请使用QLinkedList。
注意:QVector和QVarLengthArray都保证C兼容的数组布局。 QList没有。如果您的应用程序必须与C API接口,则这可能很重要。
注意:只要被引用的项目保留在容器中,对QLinkedList的迭代器和对分配堆的QList的引用将保持有效。对于迭代器以及对QVector和非堆分配QList的引用,情况并非如此。
这是一个存储整数的QVector和一个存储QString值的QVector的示例:
QVector<
QT的QVector类的使用相关推荐
- Qt的QVector类
Qt的QVector类是一个类似标准C++vector的容器类(container class),它将数据存储在连续的内存空间里,因此在执行prepend.insert操作的时候比QList类慢. 如 ...
- 【QT 基础教程 九】QVector类详解
概要:本期主要讲解Qt中QVector容器类的常用接口. 一.简介: 头文件:#include<QVector> 模块: QT += core 功能:主要用于数据存储,可以类比C++中的泛 ...
- Qt之QVector基本用法
QVector类是一个提供动态数组的模板类,是Qt对所有数组的封装. 之前我们定义一个int型的数组,我们会写int array[10],现在在Qt里我们可以定义成QVector< in ...
- QT中QVector的基本用法
一.利用data把QVector中的数据取出来 T *QVector::data() Returns a pointer to the data stored in the vector. The p ...
- 遍历qvector_转:Qt 之 QVector
QVector类是一个提供动态数组的模板类. QVector是Qt普通容器类的一种.它将自己的每一个对象存储在连续的内存中,可以使用索引号来快速访问它们.QList.QLinkedList和 QVar ...
- 遍历qvector_Qt容器类——1. QList类、QLinkedList类和QVector类
在开发一个较高性能需求的应用程序时,程序员会比较关注这些容器类的运行效率,表2.1列出了QList.QLinkedList和QVector容器的时间复杂度比较. 1.QList类 QList是迄今为止 ...
- Qt 的QString类的使用
Qt的QString类提供了很方便的对字符串操作的接口. 使某个字符填满字符串,也就是说字符串里的所有字符都有等长度的ch来代替. QString::fill ( QChar ch, int size ...
- Qt的QStyle类的标准图标汇总
Qt的QStyle类的标准图标用代码显示在界面如下: #include "QtWidgetsApplication1.h" #include<QPushButton> ...
- Qt之QImage类
文章目录 QT--QImage类 QImage获取图像的数据信息 QImage图像格式转换 由RGB格式转换为BGR格式 将彩色图转换为灰度图 图像保存 QImage图像显示在QLabel上 QPix ...
最新文章
- master-worker常驻型程序代码修改哪些需要重启master或者worker
- 第七章httpd.conf主配置文件的详解
- c#写数据到Excel慢
- android图像处理系列之五-- 给图片添加边框(中)
- spring boot的多环境部署
- bootstrap ie兼容
- springboot项目打成可依赖jar包_用IDEA把SpringBoot项目打成jar发布项目
- Windows Server2012 64位安装OpenSSH服务
- 【bzoj2199/Usaco2011 Jan】奶牛议会——2-sat
- python双重for循环 列表推导式_Python轻量级循环-列表推导式
- Magento版本比较:Magento社区版 vs Magento企业版本 vs MEC Magento专业版2
- r语言中trifit怎么用_用R语言做非参数
- 软件工程导论课堂作业
- Camera成像中的Demosaic
- 示波器的阻抗1M欧和50欧、探头
- CCNet:Criss-Cross Attention for semantic Segmentation
- 飞鹤、贝因美、君乐宝们的难题:新生儿人口减少、育儿知识的变化
- 机器码怎么改?笔记本机器码怎么改?(最新你看你也会)
- 订酒店接口 携程酒店在线预订
- python random.round 修约方法 4舍6入5看齐,奇进偶不进
热门文章
- 与网络通信相关的服务和应用进程无法加载和启动、windows通信端口初始化失败
- coreldraw铺花纹_CorelDRAW简单绘制漂亮的花纹边框技巧介绍
- win7系统用笔记本共享wifi热点 让手机免费上网
- 最简单的基于librtmp的示例 发布(FLV通过RTMP发布)
- 【JVM】JVM参数性能调优 -Xms -Xmx -Xmn -XX:NewRatio -XX:SurvivorRatio
- 学习记录439@MySQL json 数据相关操作
- 老张的哲学-netcore基础
- 工作面试老大难 - 锁
- XP操作系统,惠普CQ40-710tx无声音…
- Linux进入救援模式全盘修复,linux进入救援模式的方法