黑马程序员技术交流社区

标题: 向iOS开发者介绍C++(一) [打印本页]

作者: 牛角尖、    时间: 2015-12-19 14:56
标题: 向iOS开发者介绍C++(一)
你已经精通了Objective-C,并且一直想学更酷的东西?看看这篇文章吧!本文将向iOS开发者介绍C++。稍后我会介绍,Objective-C能够无缝地使用C和C++代码。因此,基于以下几点原因,iOS开发者理解C++将会很有帮助:

1.有时候你想在应用中使用一个用C++编写的库。
2.你可能用C++写一部分应用程序的代码,以便更容易跨平台移植。
3. 了解其他语言通常能帮助你更好地理解编程。
这篇文章针对那些已经理解Objective-C的iOS开发者。前提是假定你已明白怎么写Objective-C代码,并熟悉基本的C概念,比如类型、指针、函数等。

准备好学C++了么?那么就马上开始吧!

开始:语言简史

C++和Objective-C有一些共源:它们都根植于老式的好用的C语言,都是C语言的“超集”。因此,你可以在这两种语言中使用C语言的一些功能,和每种语言的附加特性。

如果你熟悉Objective-C,那么你将能粗略地理解你所遇到的C++代码。例如,两种语言中的数值类型(int型、float型和char型)的表现方式和使用规则都是完全一样的。

Objective-C和C++都在C语言基础上添加了面向对象的特征。如果你不熟悉“面向对象”,那么你真正需要明白的是面向对象指数据是由对象表示的,而对象是类的实例。事实上,C++最初称为“C with Classes”,内在的涵义是使C++面向对象。

“那么有什么区别么?”我听到了你的疑问。最大的区别是面向对象特性的方法。在C++中,很多行为是发生在编译时,而在Objective-C中,大多数是发生在运行时。你可能已经修改了Objective-C的运行时间来实现了一个类似method swizzling的诡计,而在C++中这是不可能的。

C++也不像Objective-C一样有大量内省以及映射方法。在C++中,没有办法获得C++对象的类,而在Objective-C中你可以在一个实例中调用“类”方法。同样的,在C++中也没有相当于isMemberOfClass或者isKindOfClass的类。

以上对C++的粗略介绍显示了C++和Objective-C的历史和主要不同点。历史部分已经完成了,到我们继续学习一些C++特征的时间了。

C++ 类

在任何面向对象语言中,首先你要知道的是如何定义一个类。在Objective-C中,你通过创建一个头文件和一个执行文件来定义一个类,在C++中同样如此,语法也十分相似
作者: iOS-lye    时间: 2015-12-19 15:05
6666666666
作者: 劉一刀    时间: 2015-12-19 18:47
感谢分享
作者: qu29437    时间: 2015-12-19 20:54
好好学习天天向上加油
作者: littp    时间: 2015-12-20 13:04
感谢分享~
作者: 余超324    时间: 2015-12-20 14:08
感谢分享,楼主厉害。
作者: qiujunwen123    时间: 2015-12-20 16:16
我让java的面向对象就搞得头晕目眩的,哎哟喂
作者: huqianqian    时间: 2015-12-20 18:00
分享的很到位,谢谢!
作者: chensc    时间: 2015-12-21 15:16
学习学习!
作者: 1753795760    时间: 2015-12-23 22:05
谢谢  大神分享




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2