常量 NSString 分配在哪里?

发布于 2024-08-31 04:02:16 字数 105 浏览 10 评论 0原文

我知道常量 CString 是静态分配的,而不是在堆上分配的。

我还注意到常量 NSStrings 具有无限的保留计数。常量 NSString 也是静态分配的,而不是在堆上分配吗?

I understand that constant CStrings are allocated statically, rather than on the heap.

I also noticed that constant NSStrings have an infinite retain count. Does it hold true that constant NSStrings are also allocated statically, rather than on the heap?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

雨的味道风的声音 2024-09-07 04:02:16

常量 NSString 属于 NSConstantString 类,因此就像 lisp 中的原子一样;他们闲逛。 -> NSConstantStrings 是静态分配的。 也就是说,如果您在代码中的两个不同位置使用 @"cow",它们将引用非常同一个对象。

NSConstantStrings 甚至具有保留计数的原因是因为它们继承自 NSObject

Constant NSStrings are of class NSConstantString, and thus act like atoms in lisp; they hang around. -> NSConstantStrings are allocated statically. That is, if you use @"cow" in two separate places in your code, they will be referencing the very same object.

The reason why NSConstantStrings even have a retain count is because they inherit from NSObject.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文