详细说明
QVector类是提供动态数组的模板类。
QVector 是Qt的通用容器类之一。它将项目存储在相邻的内存位置,并提供基于索引的快速访问。
QList ,QLinkedList ,QVector 和QVarLengthArray 提供类似的API和功能。它们通常是可互换的,但是会带来性能后果。以下是用例的概述:
QVector应该是您的默认首选。 QVector 通常会提供比QList 更好的性能,因为QVector 始终将其项顺序存储在内存中,其中QList 会将其项分配在堆上,除非sizeof(T)<= sizeof(void *),并且已使用Q_DECLARE_TYPEINFO将T声明为Q_MOVABLE_TYPE或Q_PRIMITIVE_TYPE。有关说明,请参见使用QList的优缺点。
但是,整个Qt API都使用QList来传递参数和返回值。使用QList与这些API交互。
如果您需要一个真正的链表,该链表可以保证在列表中插入固定时间并使用迭代器而不是索引,请使用QLinkedList。
注意:QVector和QVarLengthArray都保证C兼容的数组布局。 QList没有。如果您的应用程序必须与C API接口,则这可能很重要。
注意:只要被引用的项目保留在容器中,对QLinkedList的迭代器和对分配堆的Q
QT的QVector类的使用
最新推荐文章于 2024-07-24 13:54:33 发布
QVector是Qt提供的一种动态数组模板类,通常比QList性能更好,适用于需要快速索引访问的情况。QVector确保C兼容的数组布局,支持插入、删除、查找和填充等操作。尽管QList在Qt API中广泛使用,但在需要高效数组操作时,QVector是更好的选择。
摘要由CSDN通过智能技术生成