将std::vector<std::string>
转换为QVector<QString>
的最基本方法是什么
std::vector<std::string> plain = {"apple", "orange", "banana", "mango", "blueberry"};
QVector<QString> qt;
发布于 2021-08-13 14:31:41
不是一行而是两行...
QVector<QString> qt;
std::transform(plain.begin(), plain.end(), std::back_inserter(qt), [](const std::string &v){ return QString::fromStdString(v); });
作为对taiwan12的答案和我的答案的补充,我建议您在添加字符串之前使用qt.reserve(plain.size());
。这会使我的答案变成三行。太可惜了!
关于性能,我的测量结果表明,两种解决方案(我的和Taiwan12的)的运行速度都是一样快的。
https://stackoverflow.com/questions/68771545
复制相似问题