QVector、QList、QLinkedList类用法区别
QVector、QList、QLinkedList类用法区别
1. QVector 是提供动态数组的一个模板类。
QList 是提供列表的一个模板类。
QLinkedList 是提供链表的一个模板类。
2. QVector<T> 是QT的一个通用容器类,它在相邻的内存位置中存储items的值,并且提供基于索引(index-based)的快速访问。
QList<T> 是QT的一个通用容器类,它存储列表的值,并基于索引访问(index-based),同时,它插入和删除元素比较快(constant time)。
QLinkedList<T> 是QT的一个通用容器类,它存储列表的值,并基于迭代器访问,同时,它插入和删除元素比较快(constant time)。
3. QList<T>, QLinkedList<T>, QVector<T>and QVarLengthArray<T> 提供类似的功能,如下概况:
① 通常情况来说,QList是比较合适的选择,QList是基于索引访问(index-based)的API,它比QLinkedList {基于迭代器访问(iterator-based)的API}使用更加方便。
由于QList在内存中存储items的方式,它通常比QVector 更快(例如prepend()、insert()等)。而且,它只需更少的代码。
② 如果你需要使用一个真正的链表,并且保证使用迭代器(iterator)而不是索引(index)实现快速插入(constant time),可以使用QLinkedList。
③ 如果你需要items占据相邻内存空间,或者如果你的items比一个pointer更大并且你想要避免在插入时在堆上分配它们的话,可以使用QVector。
④ 如果你想要一个低级别的可变大小的数组,QVarLengthArray足矣。
QVector、QList、QLinkedList类用法区别相关推荐
- 遍历qvector_Qt容器类——1. QList类、QLinkedList类和QVector类
在开发一个较高性能需求的应用程序时,程序员会比较关注这些容器类的运行效率,表2.1列出了QList.QLinkedList和QVector容器的时间复杂度比较. 1.QList类 QList是迄今为止 ...
- QT的QLinkedList类的使用
详细说明 QLinkedList类是提供链接列表的模板类. QLinkedList 是Qt的通用容器类之一.它存储值列表,并提供基于迭代器的访问以及固定时间的插入和删除. QList ,QLinked ...
- c语言中 char怎样用,C语言中char*和char[]用法区别分析
C语言中char*和char[]用法区别分析 本文实例分析了C语言中char* 和 char []的区别.分享给大家供大家参考之用.具体分析如下: 一般来说,很多人会觉得这两个定义效果一样,其实差别很 ...
- toString()与new String ()用法区别
toString()与new String ()用法区别 TestString.java package com.atguigu;import com.sun.org.apache.xerces.in ...
- wxWidgets:wxThread类用法
wxWidgets:wxThread类用法 wxWidgets:wxThread类用法 用法详细说明 wxWidgets:wxThread类用法 用法详细说明 #include <wx/thre ...
- wxWidgets:wxSymbolPickerDialog类用法
wxWidgets:wxSymbolPickerDialog类用法 wxWidgets:wxSymbolPickerDialog类用法 用法详细说明 wxWidgets:wxSymbolPickerD ...
- wxWidgets:wxScrollEvent类用法
wxWidgets:wxScrollEvent类用法 wxWidgets:wxScrollEvent类用法 用法详细说明 wxWidgets:wxScrollEvent类用法 用法详细说明 #incl ...
- wxWidgets:wxImage类用法
wxWidgets:wxImage类用法 wxWidgets:wxImage类用法 用法详细说明 wxWidgets:wxImage类用法 用法详细说明 #include <wx/image.h ...
- wxWidgets:wxGridEvent类用法
wxWidgets:wxGridEvent类用法 wxWidgets:wxGridEvent类用法 用法详细说明 wxWidgets:wxGridEvent类用法 用法详细说明 #include &l ...
最新文章
- 外国人居留证办理手续
- 五、操作系统——内存相关基础知识 和 进程运行的基本原理(详解)
- 查看linux网络带宽
- 11.11京东全球好物节战报出炉!苹果、华为全员卖疯...
- 出现错误illegal call of non-static member function?
- 一个人的旅行(用小技巧转化为dijkstra算法)
- mmap java_Java文件映射[Mmap]揭秘 | 学步园
- magisk卸载内置软件_刷入Magisk/SuperSU实现ROOT
- 算法竞赛入门经典(第2版)-刘汝佳-第九章例题解题源码(C++语言)(部分)
- 软件测试归纳法调试,《软件测试艺术》读书笔记(34)_归纳法、演绎法、回溯法、测试法调试及其原则、错误分析...
- 根据市场需求和反馈调整产品定位,调整产品既定设计策略和营销策略
- 9个offer,12家公司,35场面试,从微软到谷歌,应届计算机毕业生的求职之路
- python的ls是什么意思_谏言给那些想学Python的人,建议收藏后细看!
- Windows为什么越用越慢而Linux却不会?
- Cesium 注册及移除事件
- 2019.12.26
- 特效笔记1----特效设计的概念和基础原则
- echarts5.0 去掉 hover 折线变粗方法
- 拉格朗日乘数法 对y的偏导数的推导 (有点牵强,作为理解吧)
- android资源编译失败,Android Studio 3.0,AAPT2编译失败 – 资源文件中的dimen无效