Objective-c语法 - Class * var vs Class * var

时间:2011-04-19 16:54:37

标签: objective-c class syntax ivar

我来自PHP背景,而且我是Objective C的新手。 在var将其标识为指针之前,我得到了一个星号。但是,类名后的星号是什么意思?我已经看到了两种方式,这不是一个错误。具有相同含义的风格差异是什么?

Class *var  
Class* var 

4 个答案:

答案 0 :(得分:2)

这两个语句在语义上是等价的。这是一个偏好问题。有一点需要注意:

Class* var1, var2;

该语句将var1声明为Class*,但var2 Class。声明它们都是Class:

的指针
Class *var1, *var2;

这就是为什么我更喜欢将变量名附近的星号分组,即使它对你声明的类型不太“正确”。

答案 1 :(得分:2)

同样的意思。在多个变量声明的情况下,在类名之后使用星号有点误导;例如,在这一行:

Myclass* a, b;

星号仅适用于a。但有些人认为*是数据类型的一部分,因此属于类名。

答案 2 :(得分:1)

就像C和C ++一样,它具有风格。

答案 3 :(得分:0)

在这种情况下,空格并不重要,所以你可以写任何一个。