首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Cocoa和Objective-C++

Cocoa和Objective-C++
EN

Stack Overflow用户
提问于 2010-01-15 19:33:16
回答 3查看 627关注 0票数 1

我想我理解Objective-C++与Cocoa是如何工作的,并且我精通命令行C++的基础知识,但我有点害怕尝试将它与Objective-C混合使用。

我猜如果是这样的话,一个人就不需要学习任何Obj-C了,只要他们知道把C++代码放在哪里!我说错了吗?

另外,有没有人能帮我弄清楚这一点,或者至少给我指个地方,让我了解更多这方面的知识?这个话题在网络上很少见,我也看不懂苹果的文档。

EN

回答 3

Stack Overflow用户

发布于 2010-01-15 20:28:23

我的建议是在你的项目中有Objective-C文件( .m文件),然后将你的Objective-C++放在单独的文件中(正如diciu提到的,.mm文件)。

一种策略是使用这些Objective-C++类作为C++类的包装器:用C++编写代码,就像普通的.cpp文件一样。然后,当您需要从Objective-C文件访问C++中的某些功能时,编写一个包装器Objective-C++类并从Objective-C调用它。

(想象一下这样一种情况:您正在为分解良好的Windows或Linux程序编写Cocoa接口:所有应用程序逻辑都是以平台无关的方式编写的,并且您“只需要”用Cocoa编写UI就可以使其在Mac上运行。

但是,采用这种包装器方法的另一个原因是Objective-C++是一种混合语言,因此它在两个方向上的能力都有局限性。

票数 3
EN

Stack Overflow用户

发布于 2010-01-16 04:31:28

关于objective-c++,你需要理解的是它的名字是个谎言。或者至少意味着比你想象的要多得多。

Objective-c++并不意味着你可以编写混合的objective-c++“对象”。这意味着您可以在同一文件中使用c++和objective c。它们可以直接相互引用-不能相互继承或派生。

票数 2
EN

Stack Overflow用户

发布于 2010-01-15 19:51:27

将.m文件重命名为.mm,您将能够在其中编写(Objective-)C++代码。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2071102

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档