Q
有什么区别?
1
A
回答
7
所有这三者都只是声明一个名为foo的NSString *类型的变量。这只是一个风格偏好问题。
有些人更喜欢把星号放在类型旁边以强调这是一个指针类型。
有些人更喜欢在变量旁边加星号来强调语言的要求。在多重声明每个指针变量需要有星号,如:
NSString *foo, *bar;
我个人的偏好实际上是一个空间的第一你的例子之前和星号后,直接之前保留使用星号用于取消引用指针的变量。我也避免在一个声明中声明多个变量。
2
没有区别,它们意味着所有三个相同的东西。只有它被认为是更好地宣称它喜欢:
NSString *foo;
因为当你添加第二个变量你的意图更加清晰:
NSString *foo,*bar;
0
没有区别。三者工作是一样的。
0
不同的是,你必须在每个例子:-)
语义上在不同位置的空间,也没有任何区别。在风格上,最后的形式是首选。
我可以建议选择更详细的标题文本时间吗? – JoePasq 2009-10-18 18:23:08