我想了解C++、Objective-C以及Objective-C++之间的区别。请问有人能告诉我这些语言的不同之处吗?同时,我们能否在iPhone开发中使用C++呢?
谢谢, Madan Mohan
我想了解C++、Objective-C以及Objective-C++之间的区别。请问有人能告诉我这些语言的不同之处吗?同时,我们能否在iPhone开发中使用C++呢?
谢谢, Madan Mohan
C++是Bjarne Stroustroup的语言,基于在C中添加类和元编程的方式,将大部分额外工作放入编译器,并依赖于最少的运行时工作。
Objective-C是Brad Cox的语言,基于在C中添加SmallTalk风格的动态消息传递运行时库,以及一小部分语法添加,使其更易于使用。
简而言之,Objective-C++是将Objective-C运行时和语法添加到C++中得到的结果。它有其局限性(例如,您不能创建C++类的Objective-C子类或反之亦然,而Objective-C不喜欢C++命名空间),但允许您从Objective-C对象中使用C++类,反之亦然。
您可以在iPhone开发中使用Objective-C++。这实际上意味着您可以编写一个完全基于C++的应用程序对象模型,其中控制器层需要与Objective-C接口才能使用Cocoa Touch API。
C++和Objective C是向C语言添加面向对象的两种不同方法。目前,Objective C编译器也接受C++作为输入,因此您可以构建一个程序,其中一些文件是用Objective-C编写的,而其他文件是用C++编写的。当以这种方式使用C++时,通常称其为Objective-C++。
1) C++是一种从C语言派生出来的编程语言,增加了面向对象(OO)等其他特性。*
2) Objective-C是一种从C语言派生出来的编程语言,增加了面向对象(OO)等其他特性。*
3) Objective-C++是Objective-C,您可以使用C++类。
您可以使用C++进行iPhone开发,但需要“一些”Objective-C代码与iPhone库进行接口。
(*)尽管它们都试图解决同样的问题,但它们的解决方法有所不同。关于差异的一些信息可以在wikipedia上找到,我相信您可以使用谷歌找到更多信息。