Qt的容器类——概述

1 Qt的容器类

  • Qt提供了多个基于模板的容器类,用于存储指定类型的数据项。
  • Qt的容器类比STL中的要轻巧、安全,它们是隐式共享可重入的,并进行了速度和存储优化,另外它们是线程安全的。
  • 线程安全:作为只读容器时可以被多个线程同时访问。
  • 隐式共享:是一种对象的管理方法,一个对象被隐式共享只是传递该对象的一个指针给使用者,而不复制实际的对象数据,只有在使用者修改数据时,才实际复制共享对象给使用者。
  • 可重入:函数发生中断(跳转),当中断返回时,原先的函数能够正确继续执行。
  • 容器存储的类型必须为一个可赋值的类型T,即T必须定义了一个缺省构造函数,一个复制构造函数和一个赋值运算符。
  • Qt的容器类分为顺序容器关联容器
  • 容器迭代器用于遍历容器中的数据项,有Java类型的迭代器STL类型的迭代器两种,另外还有foreach宏用于遍历容器中的数据项。

2 顺序容器

  • QList,以数组列表的形式实现。QList的介绍
  • QLinkedList,是链式列表,数据存储不连续。
  • QVector,是动态数组,数据项连续存储。
  • QStack,类似堆栈,LIFO。
  • QQueue,类似队列,FIFO。

3 关联容器

  • QSet,基于散列表QHash的集合模板类,存储数据顺序不定,是个集合
  • QMap,提供字典功能(关联数组),创建键值对,一个键只能映射一个值,按照键的顺序存储数据。 QMap的介绍
  • QMultiMap,提供多值映射,创建键值对,一个键可以对应多个值
  • QHash,基于散列表实现字典功能,创建键值对,一个键只能映射一个值,数据任意顺序存储。
  • QMultiHash,提供多值映射,创建键值对,一个键可以对应多个值
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值