我来自PHP背景,而且我是Objective C的新手。 在var将其标识为指针之前,我得到了一个星号。但是,类名后的星号是什么意思?我已经看到了两种方式,这不是一个错误。具有相同含义的风格差异是什么?
Class *var
Class* var
答案 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)
在这种情况下,空格并不重要,所以你可以写任何一个。