C语言与C++的区别.doc
《C语言与C++的区别.doc》由会员分享,可在线阅读,更多相关《C语言与C++的区别.doc(5页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、C+几乎完全兼容了C,但增加的特性差不多比整个C语言还多。C是一种简单的语言。它真正提供的只有有宏、指针、结构、数组和函数;而C+还有私有和保护型成员、函数重载、缺省参数、构造和析构函数、自定义操作符、内联函数、引用、友元、模板、异常、名字空间,等等。用C+比用C具有更宽广的空间,因为设计时有更多的选择可以考虑。此外,C+从安全性上远比C好,因为类型检查更严格。C只是C+的一个子集,C+是C语言发展的一个优秀的旁支。C是面向过程的语言。C+ 是在C基础发展起来的面向对象的语言,他几乎集成了所有的C的东西。(当然也剔除了很多C的缺陷,这个就要在长期学习中慢慢体会了)。C语言是结构化和模块化的面向
2、过程的语言,C+语言是混合型面向对象的程序设计语言。C+语言是C语言的超集,也就是说学会了C+,你其实已经把C语言学会了。至于说有什么区别,应该说是编程思想的区别吧,C是基于过程的,强调的是程序的功能,以函数(功能)为中心。C+是面向对象的,强调程序的分层、分类,以抽象为基础,进行对象的定义与展示,即程序设计。具体说来话长。建议你学习C+的时候,学会用面向对象的方式思考和编程。现在在开发大项目的时候,都是应用面向对象的分析和设计的技术。 C和C+的区别有什么?其他的东西都不需要多说,就象类,继承,引用等,大家都知道。这里讲的是调用编译的区别.大家看WIN32 SDK的头文件,总是可以看到 :i
3、fdef _cplusplus extern C endif ifdef _cplusplus endif 这个就是直接能够体现实际编程时区别的地方。在WIN系列下,所有的WIN32 SDK提供的LIB都是以C的形式存在的。当然,C和C+同样都支持C,STDCALL,FASTCALL调用。为什么系统提供C编译器编译的LIB而不是C+编译的LIB呢?这里其实就是C和C+编译器不同的地方。所有的函数名称只有在汇编编译器下才最清楚。因为经汇编编译器编译的函数不经过任何修饰。C 的编译器编译出来的函数名称如果在汇编编译器看来一个C调用将在函数名前家下划线(_)。而一个STDCALL的函数将是_FUNC
4、NUMBER的形式,如FUNC(void)经过编译器后成为_FUNC0。一个FASTCALL调用的函数被编译成FUNC0。顺便提一下,在WIN32的编译器里不再需要PASCALL调用,VC6已经取消了对PASCALL的支持. 光看C的编译还不够,看一下C+编译器是怎么干的。在缺省情况下,一个C+的函数经过C+编译器后编译出的函数名包括函数名,所属的类,参数类型,调用约定,返回类型。而且更要命的是这么多的信息,只有函数名和类名在编译后还依稀可见,其他就是一长串的ABCD字母,根本就是无法辨认其意义的。我们在VC手册里可以看到一个例子: void _stdcall b:c(float); - ?c
5、bQAGXMZ 一个函数被编译得连名字也不知道怎么样了.这么一来.如果SDK提供的是C+编译器提供了LIB.那么可以说就无法编译任何一个完整的WIN程序.更加不用说什么混合语言编程. 现在,VC编译器提供了个extern语句,当出现extern C语句,括号里的函数将以C方式经过编译器.从而使提供库程序方便那么点。C语言与C的区别有很多: 1,全新的程序程序思维,C语言是面向过程的,而C是面向对象的。 2,C语言有标准的函数库,它们松散的,只是把功能相同的函数放在一个头文件中;而C+对于大多数的函数都是有集成的很紧密,特别是C语言中没有的C+中的API是对Window系统的大多数API有机的组
6、合,是一个集体。但你也可能单独调用API。 3,特别是C+中的图形处理,它和C语言的图形有很大的区别。C语言中的图形处理函数基本上是不能用在C+中的。C语言标准中不包括图形处理。 4,C和C+中都有结构的概念,但是在C语言中结构只有成员变量,而没成员方法,而在C+中结构中,它可以有自己的成员变量和成员函数。但是在C语言中结构的成员是公共的,什么想访问它的都可以访问;而在VC+中它没有加限定符的为私有的。 4,C语言可以写很多方面的程序,但是C+可以写得更多更好,C+可以写基于DOS的程序,写DLL,写控件,写系统。 5,C语言对程序的文件的组织是松散的,几乎是全要程序处理;而c+对文件的组织是
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 C+ 区别
限制150内