我的一位同事声称 std::string
的实现,尤其是内存管理不如 Qt 库中的 QString
。 std::string
的哪些方面也可以引用?
最佳答案
关于内存管理,QString
使用写时复制,现在C++标准库明确禁止。但这是有原因的。写时复制习惯用法在多线程环境中表现更差,因为它需要同步。 This article更详细地讨论了问题。
另一方面,std::string
的实现通常使用小字符串优化 (SSO) 来避免为小字符串分配任何动态内存。这是字符串的当前技术水平。
关于c++ - std::string 是否不如 QString?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27541138/