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

Objective-C++语言:我在哪里可以找到有关它的更多信息?

如何解决《Objective-C++语言:我在哪里可以找到有关它的更多信息?》经验,为你挑选了2个好方法。

我已经学习了几个月的C++,并且发现它是一种优秀的语言,尽管它很有特权.

我想知道究竟什么是所谓的Objective-C++,是否值得学习它作为主要开发语言来定位Apple环境(即Mac OS X,iPhone OS).在网上搜索我只发现了几篇好文章:主要是维基百科的条目,还有一篇来自Mac开发中心.

维基百科说:

Objective-C++是GNU Compiler Collection的前端,它可以编译使用C++和Objective-C语法相结合的源文件.Objective-C++为C++增加了Objective-C添加到C的扩展.

Mac Dev Center文章补充说:

Apple的Objective-C编译器允许您在同一源文件中自由混合C++和Objective-C代码.这种Objective-C/C++语言混合称为Objective-C++.有了它,您可以使用Objective-C应用程序中的现有C++库.

Apple文章将Objective-C++称为一种语言.这是正确的吗?

我想知道以下内容:

是否有可能在不了解C/Objective-C的情况下学习和使用Objective-C++?

是否有任何好的书籍,网站,论坛等可以获得更多信息和/或帮助?

据您所知,在Objective-C++中是否有大型项目?

Stefan Arent.. 8

Objective-C++实际上只是将Objective-C与C++混合在一起.既然它允许来自两者的语法,你可以说它是一种新语言.

当我必须将Objective-C代码与一些C++库接口时,我主要使用ObjC++(.mm源文件).在这种情况下,能够调用C++很方便.我个人并不认识很多真正混合C++和Objective-C的人.



1> Stefan Arent..:

Objective-C++实际上只是将Objective-C与C++混合在一起.既然它允许来自两者的语法,你可以说它是一种新语言.

当我必须将Objective-C代码与一些C++库接口时,我主要使用ObjC++(.mm源文件).在这种情况下,能够调用C++很方便.我个人并不认识很多真正混合C++和Objective-C的人.



2> Lothar..:

是的,你应该学习Objective-C++,当你想要发展竞争的通用力量(也就是人们愿意为它们支付的那么好)Apple应用程序.

在同一个文件中,Objective-C和C++结合起来确实没什么.

对于Objective-C,使用流行的苹果开发博客/邮件列表/新闻组中的任何一个.特别是Apple直接提供的那个.

对于C++,这是相同的,有数十个博客/邮件列表/入门教程.但是,如果你已经理解了编程,那么C及其Objective-C附加组件非常简单易学.C++是一个完全不同的复杂野兽.获取一些好书并学习它(10年后你将能够完全理解语言:-)但你可以用这方面的一小部分知识编写C++程序.

所以现在是一个神奇的问题,为什么你应该使用C++,当你可以逃避Objective-C.答案很简单.除了明显提到的现有C++库的包装之外,Objective-C首先是缓慢的 - 方法调用.通常的做法是在你的方法中做一些严肃的事情,以避免出现在这种语言中的运行时间.

但特别是对于容器,您应该考虑使用C++模板.矢量比NSArray快得多.如果您的数据集很大,您会感受到不同.此外,我发现C++容器更容易使用,因为它们避免了与Objective-C有关的类型转换.

在iPad和iPhone上使用缓慢的ARM CPU,这不是过早的优化.

遗憾的是,您不能混合使用C++和Cocoa类,因此C++应仅用于算法数据.对于GUI,您必须使用Cocoa和Objective-C类.

在C++和Objective-C之间取得适当的平衡是您作为Apple程序员开发所需技能的一部分.

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