2009-10-18 196 views
1

我會先說我的問題,說我是一名初學者objective-c開發人員。有什麼區別:有什麼區別?

NSString * foo;

NSString * foo;

NSString * foo;

有區別嗎?

+3

我可以建議選擇更詳細的標題文本時間嗎? – JoePasq 2009-10-18 18:23:08

回答

7

所有這三者都只是聲明一個名爲foo的NSString *類型的變量。這只是一個風格偏好問題。

有些人更喜歡把星號放在類型旁邊以強調這是一個指針類型。

有些人更喜歡在變量旁邊加星號來強調語言的要求。在多重聲明每個指針變量需要有星號,如:

NSString *foo, *bar; 

我個人的偏好實際上是一個空間的第一你的例子之前和星號後,直接之前保留使用星號用於取消引用指針的變量。我也避免在一個聲明中聲明多個變量。

2

沒有區別,它們意味着所有三個相同的東西。只有它被認爲是更好地宣稱它喜歡:

NSString *foo; 

因爲當你添加第二個變量你的意圖更加清晰:

NSString *foo,*bar; 
0

沒有區別。三者工作是一樣的。

0

不同的是,你必須在每個例子:-)

語義上在不同位置的空間,也沒有任何區別。在風格上,最後的形式是首選。