gpt4 book ai didi

string - 为什么不使用字符串缓冲区而不是不可变字符串?

转载 作者:行者123 更新时间:2023-12-02 14:52:27 26 4
gpt4 key购买 nike

越来越多的编译器使用不可变字符串(因为字符串驻留,但还有其他原因吗?)。然而,字符串缓冲区在连接字符串时要快得多。是否有任何原因导致并非所有编译器都在内部使用字符串缓冲区而不是不可变字符串?

最佳答案

不变性的最大论据可能是它对并发性的好处。如果您知道某个对象永远不会改变,则无需锁定和保护该对象。随着我们的多核处理器中的核心数量不断增加,这种优势变得越来越引人注目。

当然,这也是需要权衡的。正如您所提到的,字符串缓冲区的性能优于执行大量字符串操作的应用程序中不断分配的新字符串。幸运的是,大多数语言都包含隐藏在库中的字符串缓冲区。默认情况下,不可变字符串更安全。在某些情况下,它们更快。如果您发现它们不适合您,您可以随时交换缓冲区。

关于string - 为什么不使用字符串缓冲区而不是不可变字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32638529/

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