c++ - std::string 是否不如 QString?

标签 c++ qt stdstring qstring

我的一位同事声称 std::string 的实现,尤其是内存管理不如 Qt 库中的 QStringstd::string 的哪些方面也可以引用?

最佳答案

关于内存管理,QString使用写时复制,现在C++标准库明确禁止。但这是有原因的。写时复制习惯用法在多线程环境中表现更差,因为它需要同步。 This article更详细地讨论了问题。

另一方面,std::string 的实现通常使用小字符串优化 (SSO) 来避免为小字符串分配任何动态内存。这是字符串的当前技术水平。

关于c++ - std::string 是否不如 QString?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27541138/

相关文章:

QTcpSocket 在另一个 QThread 中处理

c++ - 无法在动态链接库中找到过程入口点 _ZNSt7_cxx1112basic_stringlcSt11char_traitslcESalcEEC1Ev

qt - QML 如何将文本光标放在 TextEdit 元素的末尾

c++ - C - 变量未初始化就被使用

c++ - 概念 TS 检查忽略私有(private)访问修饰符

c++ - 重载 << 并定义流操纵器 C++

c++ - Qt:在QMap中找到最接近的QVector3D

c++ - 为什么 std::string 的 const 访问器返回一个引用?

c++ - std::string 可以包含嵌入的空值吗?

c++ - 可以加载 C/C++ 和 Python 插件的应用程序