什么是Objective C++?

201

Objective C++是什么,我能在Xcode中使用这种语言吗?

2个回答

191

Objective-C++是混合了Objective-C类和C++类(两种完全不相关的实体)的源代码。您的C++代码将像以前一样工作,生成的可执行文件将链接到Objective-C运行时,因此您的Objective-C类也将正常工作。您可以在Xcode中使用它--将文件命名为.mm扩展名。

此外,您可能希望阅读苹果公司关于Objective-C ++的文档(遗憾的是已删除,但已存档)。


6
该链接中的限制部分指出:Objective-C++不会向Objective-C类添加C++功能,也不会向C++类添加Objective-C功能。例如,您不能使用Objective-C语法调用C++对象,不能为Objective-C对象添加构造函数或析构函数,并且不能交替使用关键字this和self。类层次结构是分离的;C++类不能从Objective-C类继承,Objective-C类也不能从C++类继承。此外,不支持多语言异常处理。 - asgs

41

Objective-C++ 是 Objective-C(可能具有 Cocoa 框架)具备与 C++ 代码(可能是类)链接的能力。

是的,您可以在 Xcode 中使用这种语言来开发 Mac OS X、iPhone/iPodTouch 和 iPad 应用程序。它非常好用。

您不必对项目进行任何奇怪的操作才能使用 Objective-C++。只需将 Objective-C 文件的扩展名命名为 .mm(而不是.m),然后就可以开始使用了。

这是我最喜欢的架构:在 C++ 中开发我的游戏/应用程序的基础类库,以便在其他平台(Windows、Linux)中重复使用,并仅针对 iPhone/iPad 的UI 特定操作使用 Cocoa。


16
这不是关于与C ++ 链接 的问题 - 你是否想说的是混合 - Georg Fritzsche

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接