真的有类似于Objective C++的东西吗?

3

我正在阅读一篇关于iPhone编程的文章,我注意到其中提到了Objective C++,文章中展示的代码主要看起来像是Objective-C,但也有几段C++的片段。那么,从C++中真的可以编写Cocoa程序吗?

5个回答

15
除了其他评论之外,我想补充一点,即 Objective-C++ 不完全等同于“使用 C++ 编写 Cocoa”,因为没有涉及到 C++ 到 Cocoa 的桥接。
在 Objective-C++ 中,您完全使用 Objective-C 对象/语法编写 Cocoa API。Cocoa API 保持不变,因此您需要以相同的方式与其通信(使用 Objective-C 字符串、Objective-C 数组和 Objective-C 对象)。
与纯粹的 Objective-C 相比,Objective-C++ 的区别在于,您还可以使用 C++ 对象(包含 Objective-C 对象、由 Objective-C 对象包含或仅在 Objective-C 对象旁边)。

经常使用它 - 有时可能会感到尴尬,但总体来说非常适用于任何跨平台、重复使用现有业务代码、开源库等。 - Jay

9

是的。基本上,Objective-C是一组类似于Smalltalk的对象扩展,用于C语言。Objective C++是将这些相同扩展应用于C++后的结果。这使您拥有了一种具有两个不同对象模型的语言。

苹果的Xcode开发环境提供了Objective-C和Objective-C++编译器。


3
只是我一个人觉得,在拥有两种不同对象模型的环境中编写代码似乎会成为灾难性的结果吗? - Michael Kohne
2
也许如果另一家公司负责开发的话情况会不同。苹果有按时发布高质量软件的历史。 - calvinlough


1

这实际上是苹果文档中的彩蛋,用于检查是否有人在阅读 - 同一个人编写了WO4指南中所有WebScript文档。

是的,有Objective-C++。


0

是的,有的。


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