1

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

Class *var  
Class* var 
4

4 回答 4

2

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

Class* var1, var2;

该语句声明 var1 为Class*but var2 Class。要将它们都声明为指向 Class 的指针:

Class *var1, *var2;

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

于 2011-04-19T16:56:47.687 回答
2

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

Myclass* a, b;

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

于 2011-04-19T16:57:25.723 回答
1

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

于 2011-04-19T16:57:45.563 回答
0

在这种情况下,空格并不重要,因此您也可以编写。

于 2011-04-19T16:57:31.590 回答