почему * перед именем объекта - PullRequest
0 голосов
/ 25 марта 2011

Я только начинаю смотреть на какие-то объекты-c, и мне было интересно, что означает часть содержимого в этой строке кода:

MyClass *myObject = [[MyClass alloc] init];

Это немного сбивает с толку, почему мне нужна звездочка.Я понимаю, что это указатель, но я читал некоторые блоги, в которых говорится, что это означает, что myObject является объектом.Как правильно думать об этом "*"?

Ответы [ 2 ]

3 голосов
/ 25 марта 2011

Звездочка просто указывает, что переменная myObject является указателем, аналогично ее аналогу c.

Объекты c цели размещаются в куче, поэтому [[MyClass alloc] init] возвращает указатель на объект MyClass. Следовательно, вам нужно объявить переменную указателя для хранения указателя.

1 голос
/ 25 марта 2011

Традиционно в C / C ++ * означает «указатель на тип объекта».Так что * int - это "указатель на целое число".Итак, * MyObject - это тип «указателя на тип MyObject».

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