gpt4 book ai didi

c++ - 如何从 std::vector 创建 QList

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:03:42 25 4
gpt4 key购买 nike

QList::fromStdList允许您从 std::list 创建 QList。但是如何从 std::vector 创建 QList 呢?

当然,除了手动循环:

QList<T> myList;
myList.reserve(vector.size());
for(size_t i = 0, l = vector.size(); i < l; ++i)
myList << vector[i];

最佳答案

QVector 可以从标准 vector 创建,所以如果你想避免循环,你可以这样做:

QList<T> myList = QList<T>::fromVector(QVector<T>::fromStdVector(vector));

当然,这会在此过程中创建一个不必要的拷贝。不必编写循环,您还可以使用 std::copy 和 back_inserter

QList<T> myList;
myList.reserve(vector.size());
std::copy(vector.begin(), vector.end(), std::back_inserter(myList));

关于c++ - 如何从 std::vector 创建 QList,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44434567/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com