gpt4 book ai didi

c++ - 将 Vector 转换为 QJsonArray 的最快方法?

转载 作者:行者123 更新时间:2023-11-30 02:20:39 32 4
gpt4 key购买 nike

目前,我正在遍历一个 vector ,以便将其转换为 QJsonArray:

QJsonArray toJson(const std::vector<unsigned short>& myVec) {
QJsonArray result;
for(auto i = myVec.begin(); i != myVec.end(); i++) {
result.push_back((*i));
}
return result;
}

但是,这会导致我的程序出现小的滞后峰值。是否有替代方法来接收带有 vector 数据的 QJsonArray? (它不需要是深拷贝。)

最佳答案

恐怕没有比您设计的方法更快的方法了。 QJsonArrayQJsonValue 值组成,可以封装不同类型的原生值:NullBool double 字符串、...、未定义。但是 std::vector 只包含一种类型的值。因此, vector 的每个值都应该单独转换为 QJsonValue,并且没有像 memcopy 这样更快的方法。

无论如何你都可以缩短你的函数。

QJsonArray toJson(const std::vector<unsigned short>& myVec) {
QJsonArray result;
std::copy (myVec.begin(), myVec.end(), std::back_inserter(result));
return result;
}

关于c++ - 将 Vector 转换为 QJsonArray 的最快方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49461420/

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