Objective C在哪里存储对象,堆或堆栈

时间:2017-02-15 07:02:20

标签: ios objective-c object memory-management type-conversion

任何人都可以告诉我,Objective C在堆中存储对象或堆栈的位置。我在不同的网站上看过这个,但在目标C的情况下我很困惑。

提前致谢。

1 个答案:

答案 0 :(得分:5)

Objective-C只使用堆对象,没有堆栈对象。

因为据我所知

<强>堆栈

堆栈是一个内存区域,包含本地变量的存储。每个执行线程有一个堆栈。调用函数时,函数本地数据存储在堆栈帧中。函数返回时,其堆栈帧被销毁。所有这些都是自动发生的。

<强>堆

堆是内存中的其他所有内容。内存可以随时在堆上分配,并随时销毁。

最后A stack object is just an object where the memory for that object is allocated on the heap