iOS中

2013-07-14 46 views
0

使用箭頭成員選擇運算符的我已經修改C++在過去的幾天,只是讀上的箭頭成員選擇運算符。iOS中

在C++:

MyClass classObject; 
MyClass *classPointer = &classObject; 

classPointer->someFunction(); 

這是箭頭成員選擇運算符如何用於訪問功能。

但是在Objective-C:

MyViewController *vc = [[MyViewController alloc] init]; 
[vc someFunction]; 

我習慣寫這樣的代碼。爲什麼這段代碼正確?現在修改C++之後,這對我沒有意義。

很抱歉,如果這是一個愚蠢的問題。

想更好地理解這個概念。

+0

你是顯然看着目標C代碼,而不是C++代碼。 –

回答

1

你的第一個代碼sniplet是正確的C++上下文和第二sniplet是正確的Objective-C的情況下:如果你有興趣

細節蘋果對Objective-C運行文檔中列出。

兩者是不同的編程語言,這可能共享更多的共同的東西比他們差。至少兩者都基於標準C. 一些差異非常顯着,例如綁定過程。

你的問題是什麼?

如果真的是關於箭頭操作符。在Obj-C中,它仍然存在於從C中「繼承」的範圍內。在Obj-C中的每個對象下面都有一個C結構體(它類似於C++對象)在內存中表示,因此您可以使用箭頭操作符但沒有常規方法。

(你當然可以濫用常規的C指針算法調整它,並使用指針作爲函數調用和事件,你這樣做的權利比它甚至應該很好地工作,但什麼?)