【发布时间】:2011-09-29 22:19:51
【问题描述】:
我有一个需要迭代的整数列表,但数组不够用。
vectors 和 lists 之间有什么区别?在选择类型之前我需要了解什么?
为了清楚起见,我已经阅读了 QT 文档,但这是我所知道的范围:
QList<T>、QLinkedList<T>和QVector<T>提供类似的功能。这是一个概述:
- 对于大多数用途,
QList是正确使用的类。它的基于索引的 API 比QLinkedList's基于迭代器的 API 更方便,并且通常比QVector更快,因为它将项目存储在内存中的方式。它还可以扩展为您的可执行文件中的更少代码。- 如果您需要一个真正的链表,并保证在列表中间进行恒定时间插入,并且迭代器指向项目而不是索引,请使用
QLinkedList。- 如果您希望项目占据相邻的内存位置,请使用
QVector。
【问题讨论】: