我将通过说我是初学者Objective-c开发人员来解释我的问题。有什么区别:
NSString * foo;
NSString * foo;
NSString * foo;
有区别吗?
答案 0 :(得分:7)
这三个都只是声明一个名为foo的NSString *类型的变量。这真的只是风格偏好的问题。
有些人喜欢将星号放在类型旁边,以强调这是指针类型。
有些人喜欢将星号放在变量旁边,以强调语言的要求。多声明中的每个指针变量都需要带星号,如:
NSString *foo, *bar;
我的个人偏好实际上是第一个在星号前后有空格的示例,保留在变量之前直接使用星号以用于取消引用指针。我还避免在单个声明中声明多个变量。
答案 1 :(得分:2)
没有区别,他们的意思是三个相同的东西。只有它被认为是更好的声明如下:
NSString *foo;
因为当您添加第二个变量时,您的意图更加明确:
NSString *foo,*bar;
答案 2 :(得分:0)
没有区别。三者的工作方式相同。
答案 3 :(得分:0)
不同之处在于,每个示例中的空间位于不同的位置: - )
从语义上讲,没有任何区别。在风格上,最后一种形式是首选。