用于iOS开发的Objective-C++

nik*_*nik 7 iphone objective-c++ ipad ios

是否有可能将Objective-C++用于iOS应用程序(iPhone,iPad,iPod touch)开发?

互联网上有任何示例和源代码吗?

Max*_*Max 13

使用ObjC++非常简单.您必须声明扩展名为.mm的源文件.它将使编译器将它们视为ObjC++.与标题相同:使用.hh扩展名.

还有另一种选择:转到目标设置并设置Compile Sources As Objective-C++.

就这样.无需额外的工作.

一些注意事项:如果您想开发原生iOS应用程序,请使用Objective C.这将节省大量时间.但在某些情况下使用C++更合适.例如,用于跨平台开发.因此,您只需使用一点点Objective C for iPhone或Java for Android,就可以将您的代码粘贴到环境中.C++中的其他所有内容.我将它用于我的跨平台游戏开发.

另一种情况是性能:目标C主要比C++慢.但是它只在方法调用期间才会引起注意(在ObjC中它被称为消息传递).

  • 出于跨平台的目的,它倾向于分解你只有Objective-C中的视图类,控制器完全在Objective-C中,但编译为Objective-C++,因此它可以调用完全用C++编写的模型.您可以通过直接挂接到运行时来改进所有Objective-C的动态调度调用,因为您可以获取任何方法的当前C函数指针,但它很难看并且不适合面向对象的模型. (3认同)