繁体   English   中英

std :: string是否比QString差?

[英]Is std::string inferior to QString?

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

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

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

通过内存管理,您必须确定哪些更适合您的应用程序。 但是,与std :: string相比,QString明显闪耀的一个地方是unicode支持。 QString在内部存储UTF-16编码的字符串,而std :: string是编码不可知的。 当你必须处理用户提供的多字节编码字符串时,这通常使得使用QString而不是std :: string变得更加简单。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM