QT自学过程记录(7-1):QT5容器类 - QList类、QLinkedList类和QVector类

1 目录及资源索引

  QT自学过程目录及资源索引

2 时间复杂度比较

在这里插入图片描述

3 QList类

  QList< T >是目前最常用的容器类,它存储给定数据类型T的一系列数值。
  QList不仅提供了可以在列表进行追加的 QList::append() 和 QList::prepend() 函数,还提供了在列表中间完成插入操作的函数 QList::insert() 。
  QList< T >维护了一个指针数组,该数组存储的指针指向QList< T >存储的列表项的内容。
  对于不同的数据类型,QList< T >采取不同的存储策略,有以下几种:

  • 如果T是一个指针类型或指针大小的基本类型(即该基本类型占有的字节数和指针类型占有的字节数相同),QList< T >会将数值直接存储在它的数组中。
  • 如果QList< T >存储对象的指针,则该指针指向实际存储的对象。
  • 测试示例如下:
#include <QDebug>

int main (int argc, char *argv[])
{
	QList<QString> list;
	{
		QString str("This is a test string");
		list << str;
	}
	qDebug() << list[0] << "How are you!";
	return 0;
}

  实测输出如下:
在这里插入图片描述

4 QLinkedList类

  QLinkedList< T >是一个链式列表,它以非连续的内存块保存数据。
  QLinkedList< T >不能使用下标,只能使用迭代器访问它的数据项。

5 QVector类

  QVector< T >在相邻的内存中存储给定数据类型T的一组数值。
  QVector< T >既可以使用下标访问数据项,也可以使用迭代器访问数据项。

6 Java风格迭代器遍历容器

  对于每一个容器类,Qt都提供了两种类型的Java风格迭代器数据类型,即只读访问和读写访问,具体分类如下图:
在这里插入图片描述

7 STL风格迭代器遍历容器

  对于每一个容器类,Qt都提供了两种类型的STL风格迭代器数据类型,即只读访问和读写访问,具体分类如下图:
在这里插入图片描述

8 总结

  1. 目前只知道是一个容器类,怎么使用还不太清楚;
  2. 两种风格的遍历容器,目前只是大概了解,具体可以参考如下网址:
    网址1:Qt 学习之路 2(39):遍历容器
    网址2:与上述连接内容相同
  3. 后续需要加强实践练习,不能纸上谈兵,一定要多练才可以。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

FightingBoom

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值