Проблема стека и кучи для управления памятью iPhone

* Почему все объекты в Objective-C размещены в куче, а не в стеке?

Как насчет того, чтобы программировать и на Objective-C, и на C ++?


person Forrest    schedule 25.12.2010    source источник
comment
Непонятно, о чем вы спрашиваете.   -  person Paul Wheeler    schedule 25.12.2010


Ответы (2)


Непонятно, о чем вы спрашиваете.

Если вы спрашиваете о таких вещах, как NSString* str = @"hello";, то ответ был дан в вопросе, на который вы указали.

Почему нет кучи? не имеет смысла. В iOS-приложениях куча очень большая и из нее выделяются объекты.

Упоминание «автоматических объектов» и / или auto_ptr из упомянутого вами «сообщения» совершенно не связано с Objective-C.

Уточните, пожалуйста, свой вопрос.

person bbum    schedule 25.12.2010

  1. Все объекты Object C должны быть размещены в стеке? (Думаю, да)

    Нет. Как гласит цитата в вашем вопросе, "среда выполнения Objective-C не позволяет создавать экземпляры объектов в стеке"

  2. В C ++ есть стек для памяти, поэтому для приложения iOS тоже есть стек? (Думаю, да)

    Да, в Objective-C есть стек. Объекты там просто не размещаются.

person Chuck    schedule 25.12.2010