2013-04-16 1 views
1

Просто быстрый вопрос - в чем разница (если таковая имеется) между:Где поставить * Звездочка на Objective переменных C Pointer

NSObject* myObj 

и

NSObject *myObj 

и даже

NSObject * myObj 

?

+1

Он не делает разницы. Указатель указателя является указателем. – CodaFi

+1

компилятору просто все равно – peko

+0

это предпочтение стиля. некоторые команды разработчиков довольно придирчивы к этим вещам. вы должны стараться быть последовательными во всем коде. в противном случае нет разницы в отношении компилятора. – John

ответ

3

С технической точки зрения, это не имеет значения.

Лично я использую последний вариант (* посередине), но это вопрос личного вкуса.

Угловой случай будет определение нескольких деклараций инлайн, как

NSObject *a, b 

в отличие от

NSObject *a, *b 

Первый случай будет производить указатель на NSObject и NSObject (который, конечно, запрещается, и он не будет компилироваться), тогда как второй будет производить два указателя.

0

Нет никакой разницы. Оба варианта представляют собой указатель, читаемый Objective-C.

3

Мое понимание - это полностью проблема стиля, однако группа разработчиков может пожелать соответствовать стилю, а некоторые [с открытым исходным кодом] проекты могут иметь руководящие принципы, которые они применяют. Например, вот конвенции Objective-C GitHub в: https://github.com/github/objective-c-conventions

(они используют NSObject *myObj)

+1

Возможно, стоит отметить, что Apple тоже использует этот стиль. –

Смежные вопросы