用数据填充QVector的最有效方法是什么?

时间:2019-08-03 11:54:54

标签: c++ qt qt5 qlist qvector

我在整个代码中使用QList。根据{{​​3}}和链接页面https://doc.qt.io/qt-5/qvector.html QVector的说法,“应该永远是第一选择”,或者只要一个人不使用,QList根本就不应该使用”。可以处理Qt API函数,以获取或返回QList

因此,我现在考虑将代码中的所有QListQStringList替换为QVector(这应该没问题)。

但是用数据填充QVector的最有效方法是什么?共有三个选项:

QVector<sometype> vector;
for (whatever) {
    vector.append(someting)
}

这就是我目前对大多数QList所做的事情。但是通常,我知道向量有多少个元素,并且QVector可以用给定的长度初始化,或者告诉它它将有多少个元素。所以我可以做:

QVector<sometype> vector(count);
int i = 0;
for (whatever) {
    vector.insert(i++, something);
}

或:

QVector<sometype> vector;
vector.reserve(count);
for (whatever) {
    vector.append(something);
}

那哪种方法最有效?

0 个答案:

没有答案