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类用法区别相关推荐

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

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

  2. QT的QLinkedList类的使用

    详细说明 QLinkedList类是提供链接列表的模板类. QLinkedList 是Qt的通用容器类之一.它存储值列表,并提供基于迭代器的访问以及固定时间的插入和删除. QList ,QLinked ...

  3. c语言中 char怎样用,C语言中char*和char[]用法区别分析

    C语言中char*和char[]用法区别分析 本文实例分析了C语言中char* 和 char []的区别.分享给大家供大家参考之用.具体分析如下: 一般来说,很多人会觉得这两个定义效果一样,其实差别很 ...

  4. toString()与new String ()用法区别

    toString()与new String ()用法区别 TestString.java package com.atguigu;import com.sun.org.apache.xerces.in ...

  5. wxWidgets:wxThread类用法

    wxWidgets:wxThread类用法 wxWidgets:wxThread类用法 用法详细说明 wxWidgets:wxThread类用法 用法详细说明 #include <wx/thre ...

  6. wxWidgets:wxSymbolPickerDialog类用法

    wxWidgets:wxSymbolPickerDialog类用法 wxWidgets:wxSymbolPickerDialog类用法 用法详细说明 wxWidgets:wxSymbolPickerD ...

  7. wxWidgets:wxScrollEvent类用法

    wxWidgets:wxScrollEvent类用法 wxWidgets:wxScrollEvent类用法 用法详细说明 wxWidgets:wxScrollEvent类用法 用法详细说明 #incl ...

  8. wxWidgets:wxImage类用法

    wxWidgets:wxImage类用法 wxWidgets:wxImage类用法 用法详细说明 wxWidgets:wxImage类用法 用法详细说明 #include <wx/image.h ...

  9. wxWidgets:wxGridEvent类用法

    wxWidgets:wxGridEvent类用法 wxWidgets:wxGridEvent类用法 用法详细说明 wxWidgets:wxGridEvent类用法 用法详细说明 #include &l ...

最新文章

  1. 外国人居留证办理手续
  2. 五、操作系统——内存相关基础知识 和 进程运行的基本原理(详解)
  3. 查看linux网络带宽
  4. 11.11京东全球好物节战报出炉!苹果、华为全员卖疯...
  5. 出现错误illegal call of non-static member function?
  6. 一个人的旅行(用小技巧转化为dijkstra算法)
  7. mmap java_Java文件映射[Mmap]揭秘 | 学步园
  8. magisk卸载内置软件_刷入Magisk/SuperSU实现ROOT
  9. 算法竞赛入门经典(第2版)-刘汝佳-第九章例题解题源码(C++语言)(部分)
  10. 软件测试归纳法调试,《软件测试艺术》读书笔记(34)_归纳法、演绎法、回溯法、测试法调试及其原则、错误分析...
  11. 根据市场需求和反馈调整产品定位,调整产品既定设计策略和营销策略
  12. 9个offer,12家公司,35场面试,从微软到谷歌,应届计算机毕业生的求职之路
  13. python的ls是什么意思_谏言给那些想学Python的人,建议收藏后细看!
  14. Windows为什么越用越慢而Linux却不会?
  15. Cesium 注册及移除事件
  16. 2019.12.26
  17. 特效笔记1----特效设计的概念和基础原则
  18. echarts5.0 去掉 hover 折线变粗方法
  19. 拉格朗日乘数法 对y的偏导数的推导 (有点牵强,作为理解吧)
  20. android资源编译失败,Android Studio 3.0,AAPT2编译失败 – 资源文件中的dimen无效

热门文章

  1. UWP 共享文件——接收者
  2. GotoAndPlay 图论
  3. hdu 1203 I NEED A OFFER!
  4. C#中通过Selenium定位a标签的问题
  5. 【转】oracle内置函数 trunc 使用
  6. 博客园设置访问统计功能-by beanmoon
  7. linux之抓包神器tcpdump
  8. Word Count Example of Hadoop V1.0 – Mapper的实现
  9. week5 0.1 安装materializecss
  10. Nginx从入门到掌握【(第3节(共3节)】