如何从std :: vector创建QList

时间:2017-06-08 11:33:22

标签: c++ arrays containers stdvector qlist

QList::fromStdList可让您从\\创建QList。但是如何从std::list创建QList

当然,除了手动循环

std::vector

1 个答案:

答案 0 :(得分:12)

可以从标准向量创建QVector,因此如果要避免循环,可以执行此操作:

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));