回答
是的,您可以使用Objective-C++選項來使兩種語言在相同的翻譯中使用。 ObjC++源文件的擴展名是.mm
。 Xcode,GCC和Clang多年來一直支持這一點。
class Wrapped { NSObject * object; };
您也可以使用普通id
,這是在objc頭宣佈一個C兼容型 - 那麼你可以使用你的包裝在C++(無ObjC需要)。
class Wrapped { id object; };
但是你需要Objective-C++來實際使用這個對象。 –
@HotLicks呵呵。只有在需要發送消息時纔有用。真的,你*可以*使用C或asm的消息:p當然,我不推薦這樣做,但更喜歡id的更常見的情況是在實現中隱藏消息,以便避免暴露ObjC鍵入到C++源代碼 - 編譯ObjC++是資源密集型的。在某些情況下,它有助於使用'id'來減少依賴性,編譯時間並避免編譯爲ObjC++。更經常的是,最好保存類型,並用ObjC++構建。 – justin
或者,使用Objective-C++編寫一個包裝器。 –
也許你可以使用的Objective-C++?
- 1. 有沒有辦法將jquery函數包裝到對象中?
- 2. 有沒有辦法將ObjectiveC塊封裝到函數指針中?
- 3. jquery「對象沒有辦法」
- 4. 有沒有辦法判斷對象是類還是對象?
- 5. 有沒有辦法調用被覆蓋的對象的基類方法? (C++)
- 6. 有沒有辦法醃製FTP對象?
- 7. 有沒有辦法寫每個對象
- 8. 有沒有辦法讓一個對象
- 9. 有沒有辦法擴展ThreeJS對象?
- 10. Objective C:有沒有辦法在沒有編譯器投訴的情況下調用類對象的類方法?
- 11. 有沒有辦法讓裝飾者包裝的功能?
- 12. 有沒有辦法將C#序列化對象讀入Python?
- 13. 有沒有辦法通過C#對象SQL存儲過程
- 14. 有沒有辦法將b2Body投射到Objective-C對象
- 15. 在C++中,有沒有辦法鎖定對象本身?
- 16. 有沒有辦法找出類和對象
- 17. 有沒有辦法從ouside的類中繪製JPanel對象?
- 18. 有沒有辦法用Lodash的包裝一次包裝多個參數
- 19. 有沒有辦法使用emacs安裝R包?
- 20. jQuery.remove() - 刪除對象後,有沒有辦法讓對象返回?
- 21. 有沒有辦法在C#中比較兩種不同類型的對象#
- 22. 有沒有什麼辦法來創建C#標準類和對象,如PHP
- 23. 錯誤:對象有沒有方法包裝
- 24. 無法調用「fetchrow_array」沒有包裝或對象引用
- 25. 有沒有辦法來包裝函數有va_args參數?
- 26. 有沒有辦法讓javax.xml有一個根元素包裝?
- 27. 有沒有辦法用CodeIgniter獲取當前對象和方法?
- 28. 有沒有辦法在Groovy中擁有可調用的對象?
- 29. 有沒有辦法訪問給定對象的所有引用?
- 30. 有沒有辦法在實例化之前對類對象進行引用?
取決於你的意思是「換行」。 –
有一個C++類,它內部有一個Obj-C對象,C++可以與之通信 –
你可以在其中有一個C++類,其中包含一個Objective-C *對象指針*。使用Objective-C++(.mm文件),您可以從C++代碼調用Objective-C對象的方法。一個小小的歌曲和舞蹈可能需要將指針「橋接」到C++對象中。 –