1)obj-c的編譯器處理字尾為m的檔案時,可以識別obj-c和c的**,處理mm檔案可以識別obj-ccc++**,但cpp檔案必須只能用c/c++**,而且cpp檔案include的標頭檔案中,也不能出現obj-c的**,因為cpp只是cpp
2) 在mm檔案中混用cpp直接使用即可,所以obj-c混cpp不是問題
3)在cpp中混用obj- c其實就是使用obj-c編寫的模組是我們想要的。
如果模組以類完成,那麼要按照cpp class的標準寫類的定義,標頭檔案中不能出現obj-c的東西,包括#importcocoa的。
面試題解答。完成檔案中,即類的完成**中可以使用obj-c的東西,可以import只是字尾是mm。
如果模組以函式完成,那麼標頭檔案要按c的格式宣告函式,完成檔案中,c++函式外部可以用obj-c,但字尾還是mm或m。
總結:只要cpp檔案和cppinclude的檔案中不包括obj-c的東西就可以用了,cpp混用obj-c的關鍵是使用介面,ios開發。而不能直接使用完成**,實際上cpp混用的是obj-c編譯後的o檔案,這個東西其實是無差別的,所以可以用。obj-c的編譯器接濟cpp.
c和obj c如何混用
1 obj c的編譯器處理字尾為m的檔案時,可以識別obj c和c的 處理mm檔案可以識別obj c,c,c 但cpp檔案必須只能用c c 而且cpp檔案include的標頭檔案中,也不能出現obj c的 因為cpp只是cpp。2 在mm檔案中混用cpp直接使用即可,所以obj c混cpp不是問題 ...
C C和C 的混用
c和c 語法上有很多相同的地方,但是兩種語言混合程式設計是有問題的。例如,在c中,函式set被編譯器翻譯成 set,就是說在鏈結查抄是,使用的是 set這個名字找到的set函式。而c 中,由於函式過載特性,編譯器在函式名的翻譯中,需要使用函式具體使用的引數型別,例如set int 函式,會被翻譯成 ...
C 過載和繼承混用會怎樣?
overload就是過載,大家都會。但是大家有沒有想過,我們呼叫乙個過載方法的時候會呼叫哪個呢?答案是和簽名最接近的乙個。大家是不是看到這裡已經開始覺得這個部落格很無聊了,都是這麼簡單的內容。沒關係,我們慢慢深入。我們知道方法為了能夠減少書寫個數,提供了乙個叫預設引數的東西 voidp object...