我来自 PHP 背景,并且是 Objective C 的新手。我在 var 将其标识为指针之前得到一个星号。但是,类名后的星号是什么意思?我已经看到了这两种方式,这不是一个错误。风格不同是不是同一个意思?
Class *var
Class* var
我来自 PHP 背景,并且是 Objective C 的新手。我在 var 将其标识为指针之前得到一个星号。但是,类名后的星号是什么意思?我已经看到了这两种方式,这不是一个错误。风格不同是不是同一个意思?
Class *var
Class* var
这两个语句在语义上是等价的。这是一个偏好问题。需要注意的一件事:
Class* var1, var2;
该语句声明 var1 为Class*
but var2 Class
。要将它们都声明为指向 Class 的指针:
Class *var1, *var2;
这就是为什么我更喜欢将星号分组在变量名附近,即使它对您声明的类型不太“正确”。
同样的意思。在多个变量声明的情况下,在类名之后使用星号会有些误导;例如,在这一行中:
Myclass* a, b;
星号仅适用于 a。但是有些人认为 * 是数据类型的一部分,因此与类名一起属于。
就像 C 和 C++ 一样,它具有风格。
在这种情况下,空格并不重要,因此您也可以编写。