Qt 提供了多个基于模板的容器类,这些容器类可以用于存储指定类型的数据项,例如常用的字符串列表类 QStringList 就是从容器类 QLiSt<QString> 继承的,实现对字符串列表的添加、存储、删除等操作。
Qt 的容器类比标准模板库(STL)中的容器类更轻巧、安全和易于使用。这些容器类是隐式共享和可重入的,而且它们进行了速度和存储优化,因此可以减少可执行文件的大小。此外,它们还是线程安全的,也就是说它们作为只读容器时可被多个线程访问。
容器类是基于模板的类,如常用的容器类 QList<T>,T 是一个具体的类型,可以是 int、float 等简单类型,也可以是 Qstring、QDate 等类,但不能是 QObject 或任何其子类。T 必须是一个可赋值的类型,即T必须提供一个缺省的构造函数,一个可复制构造函数和一个赋值运算符。
例如用 QList<T> 定义一个字符串列表的容器,其定义方法是:
QList<QString> aList;
这样定义了一个 QList 容器类的变量 aList,它的数据项是 QString,所以 aList 可以用于处理字符串列表,例如:
aList.append("Monday");
aList.append("Tuesday");
aList.append("Wednesday");
QString str=aList[0];
Qt 的容器类分为顺序容器和关联容器。
顺序容器类
Qt 的顺序容器类有 QList、QLinkedList、QVector、QStack 和 QQueue。
QList
QLi

本文介绍了Qt中的容器类,包括顺序容器如QList、QLinkedList、QVector、QStack和QQueue,以及关联容器如QMap、QMultiMap、QHash、QMultiHash和QSet。Qt的容器类具有线程安全、优化存储和速度的特点,适用于不同场景的数据存储和操作需求。
最低0.47元/天 解锁文章
1097

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



