在目标C指针变量上放置*星号的位置

时间:2013-04-16 15:19:29

标签: objective-c pointers

一个简单的问题 - 以下之间有什么区别(如果有的话):

NSObject* myObj

NSObject *myObj

甚至

NSObject * myObj

3 个答案:

答案 0 :(得分:3)

从技术角度来看,这没关系。

我个人使用最后一个选项(*中间),但这是个人品味的问题。

角落案例将是多个内联声明的定义,例如

NSObject *a, b

而不是

NSObject *a, *b

第一种情况会产生一个指向NSObjectNSObject的指针(这当然是被禁止的,它不会编译),而第二种情况会产生两个指针。

答案 1 :(得分:3)

我的理解是这完全是一个样式问题,但是,开发团队可能希望匹配样式,某些[开源]项目可能会有他们强制执行的指导。例如,这是Github的Objective-C约定:https://github.com/github/objective-c-conventions

(他们使用NSObject *myObj

答案 2 :(得分:0)

没有区别。两种变体都代表Objective-C可读的指针。