如何正确截断/调整QList <>的大小

问题描述 投票:0回答:1

[在阅读了诸如Why doesn't QList have a resize() method?之类的许多问题之后,我想知道以下内容。

通常,在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容器 a QList的最佳方法吗?原因是我需要将此最终传递给期望QList的框架函数。

qt size limit qlist
1个回答
0
投票
QList!= std::list。有QLinkedList更像是std。版。对于大多数操作,QVectorQList更可取,是Qt中使用的容器类型。阅读https://marcmutz.wordpress.com/effective-qt/containers/以获取完整说明。

如果由于某种原因而坚持使用QList ...那么是...:((

may可以更快地用QList::mid()获取新列表。而且总是QList::toVector()或[ C0]。:)

© www.soinside.com 2019 - 2024. All rights reserved.