C语言和C++语言的区别,你知道吗?
前言/PREFACE
C++语言是在C语言的基础上引入了面向对象的机制而形成的一门计算机编程语言。C++继承了C语言的大部分特点。
一方面,C++语言将C语言作为其子集,使其能与C语言相兼容;
另一方面,C++语言支持面向对象的程序设计,如类的概念和性质。这就是对C语言的重要改进。
发展历史
1、1980年,Bjarne Stroustrup博士开始着手创建一种模拟语言,能够具有面向对象的程序设计特色。在当时,面向对象编程还是一个比较新的理念,Stroustrup博士并不是从头开始设计新语言,而是在C语言的基础上进行创建。这就是C++语言。
2、1985年,C++开始在外面慢慢流行。经过多年的发展,C++已经有了多个版本。ANSI和ISO的联合委员会于1989年着手为C++制定标准。1994年2月,该委员会出版了第一份非正式草案,1998年正式推出了C++的国际标准。
主体不同
1、C语言:是一门面向过程的、抽象化的通用程序设计语言,广泛应用于底层开发。并且可以说C是C++的子集,因为C语言先于C++而存在。
2、C++:是C语言的继承,也可以说是C++是C的超集。因为它既可以进行C语言的过程化程序设计,又可以进行以抽象数据类型为特点的基于对象的程序设计。
优势不同
1、C语言:能以简易的方式编译、处理低级存储器。C语言是仅产生少量的机器语言以及不需要任何运行环境支持便能运行的高效率程序设计语言。
2、C++:不仅拥有计算机高效运行的实用性特征,同时还致力于提高大规模程序的编程质量与程序设计语言的问题描述能力。
特点不同
1、C语言:提供了许多低级处理的功能,但仍然保持着跨平台的特性,以一个标准规格写出的C语言程序可在包括类似嵌入式处理器以及超级计算机等作业平台的许多计算机平台上进行编译。
2、C++:在C++中,类是支持数据封装的工具,对象则是数据封装的实现。C++通过建立用户定义类支持数据封装和数据隐藏。
C语言和C++语言上的不同
1、C是面向过程的语言,而C++是面向对象的语言
2、C和C++在动态分配内存方面存在差异,C使用malloc/free函数,而C++使用除此之外还有new/delete关键字
3、C语言中没有class,只有struct;但是在C++中两者都有。class的默认访问修饰符是private,而struct是public
4、C++支持函数重载,而C不支持函数重载,这是由于两者的名字修饰不同
5、C++有引用,而C没有引用
使用场景的不同
C语言
操作系统:类unix系统(linux/freebsd…)主要基于c开发的。
嵌入式领域:驱动开发大部分基于C的,嵌入式系统c开发的。
C++
游戏领域:星际争霸、魔兽争霸、CS、帝国时代、跑跑卡丁车、传奇、魔兽世界
办公软件:微软Office、Sun Open Office
图形处理:AdobePhotoshop
网站:eBay、facebook
搜索引擎:Google
图形界面:MicrosoftWindows UI、苹果 MacOS UI (Aqua)、KDE(Linux图形界面)
关系型数据库:Oracle 、MySQL
浏览器:微软IE、火狐、苹果Safari 、谷歌Chrome
邮件客户端:Outlook
软件开发集成环境:Eclipse、Code Blocks、Microsoft VisualStudio
编译器:MicrosoftVisual C++
总结
C++是C语言的继承,它既可以进行C语言的过程化程序设计,又可以进行以抽象数据类型为特点的基于对象的程序设计,还可以进行以继承和多态为特点的面向对象的程序设计。
C++擅长面向对象程序设计的同时,还可以进行基于过程的程序设计,因而C++就适应的问题规模而论,大小由之。
C++不仅拥有计算机高效运行的实用性特征,同时还致力于提高大规模程序的编程质量与程序设计语言的问题描述能力。
*声明:本文于网络整理,版权归原作者所有,如来源信息有误或侵犯权益,请联系我们删除或授权事宜