要将QList
转换为std::vector
,需要遍历QList
中的元素,并将它们添加到std::vector
中。以下是两种常用的方法:
方法1:使用std::copy
函数
#include <algorithm>
#include <vector>
QList<int> qList {1, 2, 3, 4, 5};
std::vector<int> vec(qList.size());
std::copy(qList.begin(), qList.end(), vec.begin());
在这个例子中,我们首先创建一个QList
,其中包含一些整数。然后,我们创建一个std::vector
,其大小与QList
相同。最后,我们使用std::copy
函数将QList
中的元素复制到std::vector
中。
方法2:使用循环遍历QList
中的元素
#include <vector>
QList<int> qList {1, 2, 3, 4, 5};
std::vector<int> vec;
for (auto i : qList) {
vec.push_back(i);
}
在这个例子中,我们也首先创建一个QList
,其中包含一些整数。然后,我们创建一个空的std::vector
。最后,我们使用循环遍历QList
中的每个元素,并将它们添加到std::vector
中。
注意,如果要在不同的线程之间共享数据,请使用QVector
而不是std::vector
。QVector
是线程安全的,并且已经将数据添加到线程安全容器中,以帮助您避免并发问题。