通过 Hillegass书籍,我一直在学习Objective-C和Cocoa 我觉得使用Objective-C ++可能会更好。 Objective-C似乎是开发UI的明确选择,但我有很强的C ++背景,并且喜欢用C ++开发应用程序后端并使用Objective-C ++来进行UI集成。 但我想知道Apple是否会继续开发Objective-C ++,还是会成为死胡同。

是否有人使用Objective-C ++?

有帮助吗?

解决方案

免责声明:我不为Apple工作或代言,所以这是我的观点:

我不能代表主要的开发商店,但是在我的小组中,我们已经使用Objective-C ++来集成C ++库,并且当你提议用C ++编写后端时。正如@alxp所提到的,跨越语言边界的异常处理之类的事情是痛苦的,但只要稍加规划,就可以避免大部分这些痛苦。对于经验丰富的C ++开发人员来说,收益可能非常值得痛苦。

就支持而言,我认为您可以假设其当前状态的支持不会很快消失。它是GCC代码库的一部分, Clang 工具链(Apple的下一个编译工具链)完全支持Objective-C ++。另一方面,没有任何官方保证Apple会继续开发集成并修复一些疣。例如。

对于当前项目,我想说如果使用Objective-C ++提供好处,依靠现有支持是安全的,你应该使用它。

其他提示

我使用ObjC ++的唯一一次是移植库以使其可以从我的ObjC代码访问。 ObjC ++和ObjC如何处理异常,类创建和破坏之类的冲突,使得在一个项目中兼顾这两种语言变得非常令人头疼。

我认为支持不会像Cocoa / Java那样迅速消失,因为它是GCC的一部分,而且Objective-C ++以与Objective-C编译相同的方式编译成直接的C ++。直到C,但与Objective-C相比,我仍然觉得构建软件并不是一个非常愉快的环境,并且能够轻松地完全使用OS X提供的框架。

只要Objective-C是,Objective-C ++就可能继续受到支持。 Obj-C ++是 clang 的基本目标,预计最终将取代gcc成为Apple’ s首选编译器。随着Carbon应用程序转移到Cocoa前端,使用率可能会上升。

当然,这个词很可能”出现两次以上,因为苹果是如此令人兴奋的不可预测。 : - )

我怀疑Apple会继续支持Objective C ++一段时间,因为我没有看到Apple为了维护Objective C ++而需要进行任何重大的重复工作,因为Apple更新了Cocoa和Objective C ++。

前几天,当我尝试使用Xcode的重构支持重构Objective-C ++文件中的一些Objective-C代码时,我感到很惊讶。即使启用了菜单项,我也得到了“Can’ t refactor Objective-C ++代码”。 Xcode只能重构C和Objective-C代码。“错误信息。因此,虽然Objective-C ++的编译将继续无限期地运行,但我怀疑Objective-C ++将成为Xcode中的二等公民。

我从我的所有代码中取出它。没有.mm文件。

但是你需要.cpp文件与.m文件对话。该解决方案是一个.c / .h文件,可以保持血脑屏障的完整性。

带有Objective-C的C ++通常只是太多的包袱。

Objective-C实际上只是一组用C语言模拟对象的C代码,它仍然使用包含Objective-C头文件的C编译器。使用Objective-C ++使用C ++编译器并将Objective-C头包含为C代码,因为C ++将运行C代码。 Objective-C ++本质上只是C,C ++和Objective-C(实际上只是C)

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top