在这里阅读了一些问题后,例如为什么 QList 没有 resize() 方法?,我想知道以下内容。
通常,在 STL 代码中,我可以有这样的东西来限制results
处理的大小:
std::list<int> results = something()
results.resize(std::min(result.size(), 5000));
现在我有一个带有 QList 的 Qt 项目:
QList<int> results = something()
while(results.size() > 5000) {
results.removeLast();
}
expensiveOperation(results);
这真的是这个最好的办法Qt容器一个QList
?原因是我最终需要将它传递给一个需要QList
.
QList
!= std::list
。有QLinkedList
哪个更像标准。版本。对于大多数操作QVector
来说,QList
作为 Qt 中使用的容器类型是首选。阅读https://marcmutz.wordpress.com/effective-qt/containers/以获得完整的解释。
如果您QList
因某种原因被困...那么是的... :(使用 获取新列表可能会更快QList::mid()
。而且总是有QList::toVector()
或toStdList()
。:)
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句