Проблема стека и кучи для управления памятью iPhone - PullRequest
1 голос
/ 25 декабря 2010

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

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

Ответы [ 3 ]

3 голосов
/ 25 декабря 2010

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

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

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

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

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

1 голос
/ 25 декабря 2010
  1. Все объекты Object C должны быть расположены в стеке? (Думаю да)

    Нет. Как сказано в вашем вопросе, «среда выполнения Objective C не позволяет создавать объекты в стеке»

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

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

0 голосов
/ 25 декабря 2010

Для лучшего понимания литералов NSString, пожалуйста, посмотрите эту ветку: Что на самом деле делает назначение литеральной строки для NSString с "="?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...