眾所周知Objective-C++是Objective-C和C++的混合體,源碼后綴是.mm柠座。
在這2種語言中邑雅,對象的實質都是指針。
1妈经、1種語言的類可以組合另一種語言的類作為成員變量淮野。也可以互相調用。不過2種語言的類不能互相繼承吹泡。
2骤星、因為C++對象是靜態(tài)類型的,而OC對象是動態(tài)類型的爆哑,所以二者對象不能相容洞难。
3、又因為兩者內存布局不同揭朝,所以從結構上講二者也不兼容队贱。
所謂不能兼容在我理解看來應該是二者的對象不能彼此類型轉換。
不過二者可以嵌套潭袱。
比如說:
1柱嫌、oc類內可嵌套C++類,此時的C++就類似于全局聲明的一樣屯换。
2编丘、oc類內可聲明C結構。
3、在編譯器中設置fobj-call-cxx-cdtors標志位以后瘪吏,oc可以以C++對象作為實例變量癣防。
4、作為成員變量的oc對象的構造順序是按照聲明的順序順次構造的掌眠,dealloc時是逆序析構的蕾盯。
5、構造器和構造函數不是一個概念蓝丙。構造器好像是管理構造函數的東西级遭。
6、oc沒有命名空間的概念渺尘,所以不能在oc類里面聲明命名空間挫鸽,更不能在C++命名空間內聲明oc類。
7鸥跟、oc類丢郊、協議、分類與C++ template不能在各自內部聲明医咨。
8枫匾、oc類可以作為C++ template參數,C++template可以作為oc的消息接收者和參數拟淮。
9干茉,C++有C++的關鍵字,oc有oc的關鍵字很泊,你不能把C++的關鍵字用在oc身上角虫,你也不能把oc的關鍵字用在C++身上,但是在不違背這個原則的前提下可以隨便用委造。
10戳鹅、oc類名和類別名之所以能夠在同一個源碼中,是因為它們分別處于不同的命名空間中昏兆。
11粉楚、oc++只不過是oc與C++的混合體,而不是結合體亮垫,所以二者在此中依然是各行其道模软。
作者這一節(jié)寫得太爛了,舉例復雜不具代表性饮潦,說明性差燃异,重點不突出,好像是閑言碎語的羅列继蜡,不會寫書就別寫書回俐,別出來耽誤別人的時間逛腿!
明解Objective-C++中的有所為而有所不為
最后編輯于 :
?著作權歸作者所有,轉載或內容合作請聯系作者
- 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來凌停,“玉大人粱年,你說我怎么就攤上這事》D猓” “怎么了台诗?”我有些...
- 正文 為了忘掉前任,我火速辦了婚禮吉捶,結果婚禮上夺鲜,老公的妹妹穿的比我還像新娘。我一直安慰自己呐舔,他們只是感情好币励,可當我...
- 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著珊拼,像睡著了一般食呻。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上澎现,一...
- 文/蒼蘭香墨 我猛地睜開眼挠将,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了编整?” 一聲冷哼從身側響起舔稀,我...
- 正文 年R本政府宣布埃撵,位于F島的核電站赵颅,受9級特大地震影響,放射性物質發(fā)生泄漏暂刘。R本人自食惡果不足惜饺谬,卻給世界環(huán)境...
- 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望谣拣。 院中可真熱鬧募寨,春花似錦、人聲如沸森缠。這莊子的主人今日做“春日...
- 文/蒼蘭香墨 我抬頭看了看天上的太陽贵涵。三九已至列肢,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間宾茂,已是汗流浹背瓷马。 一陣腳步聲響...
推薦閱讀更多精彩內容
- 面試筆試都是必考語法知識的。請認真復習和深入研究OC晒喷。 Objective-C 方法和選擇器有何不同孝偎?(Diffe...
- 蘋果官方文檔翻譯 《Objective-C語言編程》(Programming with Objective-C) ...
- 蘋果的Objective-C編譯器批準用戶在統(tǒng)一個源文件里自由地混雜利用C++和Objective-C,混編后的語...