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,提供多值映射,创建键值对,一个键可以对应多个值。
480

被折叠的 条评论
为什么被折叠?



