当前位置:  开发笔记 > IOS > 正文

Objective-C++中支持多少C++

如何解决《Objective-C++中支持多少C++》经验,为你挑选了2个好方法。

我想制作一款iPhone应用,但我打算用C++制作这个框架.是否可以在Objective-C++中使用模板之类的东西.我想真的问题是,我可以使用提升吗?



1> gavinb..:

是否可以在Objective-C++中使用模板之类的东西.

是的,但您需要注意如何在纯C++层和Objective-C++代码之间混合类型和接口.请记住图层之间的界限,您需要转换类型,例如std::stringto NSString等等.

例如,您可以使用纯C++实现核心游戏引擎,并在Objective-C++中实现控制器和GUI代码.然后Obj-C++代码是纯C++引擎和Cocoa之间的粘合剂.

我想真的问题是,我可以使用提升吗?

鉴于iPhone OS是OS X的一个子集,仍然提供完整的POSIX层,大多数Boost库应该可以正常工作.它应该就像编写Darwin代码一样.

Objective-C++中有许多限制需要注意(直接来自Objective-C 2.0参考指南):

您不能使用Objective-C语法来调用C++对象

您不能将构造函数或析构函数添加到Objective-C对象

你不能使用这个和自我互换的关键词

类层次结构是分开的; C++类不能从Objective-C类继承,并且Objective-C类不能从C++类继承

Objective-C代码中抛出的异常无法在C++代码中捕获,相反,在C++代码中抛出的异常无法在Objective-C代码中捕获.



2> Zifre..:

Objective C++支持所有C++.应该可以使用boost,但您可能需要移植一些与平台相关的东西.


我没有任何改动就使用过boost.它开箱即用.
推荐阅读
pan2502851807
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有