Объявления указателей в Задаче C - PullRequest
0 голосов
/ 21 декабря 2010

При чтении различных текстов или примеров кода на Obj-C я вижу объявления указателей, подобные этому:

NSString *myStringPtr

но иногда я вижу,

NSString * myStringPtr

, где между именем и *.

есть пробел.

Есть ли разница между этими объявлениями или они просто указатели на объект типа NSString или я что-то упустил?

В общем, необходим ли пробел между * и именем?

Я даже видел NSString * myStringPtr

Это отличается от приведенных выше утверждений?

Я понимаю (NSString *) для возвращаемых методов или аргументов означает, что метод возвращает (или передается) указатель на объект NSString.

1 Ответ

1 голос
/ 21 декабря 2010

Нет, звездочку можно прикрепить либо к имени, либо к типу, либо между ними (с пробелами в качестве отступов).Это не имеет значения.Однако Objective-C чаще всего использует стиль

NSString *myStr;

вместо

NSString * myStr;

или

NSString* myStr;

Размещение указателя делает имеет значение, если вы объявляете несколько переменных одной строкой.Например, этот

int* a, b;

функционально идентичен следующему:

int *a;
int  b;    /* Note: This is not a pointer! */

(Примечание: это также относится к C, поскольку это технически проблема синтаксиса C, а неспецифично для Objective-C.)

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