gpt4 book ai didi

c++ - 如何有效地连接 QStrings

转载 作者:太空宇宙 更新时间:2023-11-04 13:00:22 25 4
gpt4 key购买 nike

我想将 QString 的树结构连接成单个 QString。

如果我理解正确,QString 和 Java-String 一样是不可变的,因此您使用 Java 的 StringBuilder 的类似原因应该适用。

使用 % 运算符似乎只能提高单个语句的效率,所以可能对我帮助不大,因为我需要连接多个嵌套循环。

我可以使用 std::stringstream,但这意味着首先将每个 QString 转换为 C 字符串或 std 字符串,这可能会带来性能成本。

使用 QTextStream 会有帮助吗?

或者有更好的可能性吗?

最佳答案

如果您通过 + 运算符或追加方法连接大量字符串,由于内存重新分配,效率很低。为了避免所述重新分配,您需要计算连接需要的内存量,将所述量分配给 char* 缓冲区,将连接的每个字符串的原始数据复制到缓冲区中的适当位置(例如通过 memcpy)。然后从 char* 缓冲区构造结果字符串对象。

关于c++ - 如何有效地连接 QStrings,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44407982/

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