我正在尝试以尽可能少的开销将数据从另一个移动QByteArray到另一个。std::vector<char>
目前我找到了4种方法,哪一种的性能最好呢?有更好的解决方案吗?您希望在代码审查中看到哪一个?
#include <QDebug>
#include <vector>
int main() {
auto b = QByteArray("hello");
std::vector<char> v;
// 1
v = std::vector<char>(*b.data(),b.size());
// 2
v = std::vector<char>(b.begin(),b.end());
// 3
std::move(b.begin(),b.end(),std::back_inserter(v));
// 4
v.resize(b.size());
std::memcpy(&v[0],b,b.size());
return 0;
}
Run Code Online (Sandbox Code Playgroud)