*所有OC语言的对象都必须要通过指针的形式声明,因为对象所占的内存都是在堆空间(heap),所以必须要声明一个指向堆空间的指针来进行对象的调用。
*指针变量存储在栈空间(stack)
NSString *str = @"hello";
NSString *str2 = str;
这样不会拷贝对象,只是在栈帧上创建两块区域装有连个指针指向同一个对象
*OC中堆内存的管理是直接的,有一套“引用计数”机制来管理,栈内存上的空间在其栈帧弹出时自动清理
本文介绍Objective-C中对象的内存管理方式及其与指针的关系。解释了所有OC对象为何必须通过指针声明,并说明了堆内存和栈内存的区别及如何通过引用计数机制管理堆内存。
1222

被折叠的 条评论
为什么被折叠?