Pure ObjC(.m)vs ObjC& Cpp(.mm)混合

时间:2011-04-06 12:19:39

标签: c++ objective-c ios

混合Objective C& C时是否有任何陷阱在.mm文件中使用C ++,我是否应该尽可能坚持使用纯粹的ObjC?

2 个答案:

答案 0 :(得分:7)

除了Objective-C编程指南的Objective-C ++部分中描述的警告之外,Objective-C ++没什么可怕的。编译比Objective-C需要更长的批次,但是在标题中使用C ++会感染任何包含具有Objective-C ++要求的标头的代码。因此,为了您的理智以及代码中任何客户端的理智,必要时尽可能在“公共”API和Objective-C ++中使用Objective-C。

答案 1 :(得分:1)

我不确定使用Objective-C ++会产生任何陷阱,但我个人会建议坚持使用纯粹的objective-c以获得清晰度和代码可读性。如果您计划使用某些特定的C ++库,那么在项目中使用objective-C ++的一种好方法是将所有C ++功能保存在单独的C ++类文件中,这样当您在使用C ++对象时。 mm文件,你可以将obc-c和c ++代码混合到一起。当我第一次启动IOS开发时,我使用Objective-C ++编写了一些项目,但是我越了解Cocoa及其功能,我发现使用C ++的冲动逐渐减少,因为它更好更简单,只需坚持使用obj-c和可可框架。