编程语言虽然有很多,但差不多都大同小异。那么,同为编程语言的C和C++的区别到底在哪儿呢?除了面向对象和面向语言外,貌似没有更好的回答了。就这个问题,小编搜集了一些回答,给大家整理一下。
C语言:C语言是一门面向过程、抽象化的通用程序设计语言,广泛应用于底层开发。C语言能以简易的方式编译、处理低级存储器。C语言是仅产生少量的机器语言以及不需要任何运行环境支持便能运行的高效率程序设计语言。尽管C语言提供了许多低级处理的功能,但仍然保持着跨平台的特性,以一个标准规格写出的C语言程序可在包括一些类似嵌入式处理以及超级计算机等作业平台的许多计算机平台上进行编译。
C语言
C++:C++是C语言的继承,它既可以进行C语言的过程化程序设计,又可以进行以抽象数据类型为特点的基于对象的程序设计,还可以进行以继承和多态为特点的面向对象的程序设计。C++擅长面向对象程序设计的同时,还可以进行基于过程的程序设计,因而C++就适应的问题规模而论,大小由之。C++不仅拥有计算机高效运行的实用性特征,同时还致力于提高大规模程序的编程质量与程序设计语言的问题描述能力。
c++
以上就是关于C语言和C++的一个基本介绍,让大家能有一个大概的了解。那么,下面我们就来说说他们二者的区别所在。
1、 C++ 几乎是 C 的超集,只有少量功能 C++ 不支持。C++ 比 C 多了 classes、templates、exceptions 这些部分,而每个部分也有很多新增的东西。这还只是语言部分,还未谈及标准库。C 有 29 个标准库头文件,C++ 有 87 个,除了量,C++ 标准库的功能要复杂得多。
2、 与 C++ 相比,C 具备编译速度快、容易学习、显式描述程序细节、较少更新标准(后两者也可同时视为缺点)等优点。
3、 在语言层面上,C++ 包含绝大部分 C 语言的功能(例外之一,C++没有C99的变长数组VLA),且提供 OOP 和 GP 的特性。但其实用 C 也可实现 OOP 思想,亦可利用宏去实现某程度的 GP,只不过 C++ 的语法能较简洁、自动地实现OOP/GP。C++ 的 RAII(resource acquisition is initialization,资源获取就是初始化)特性比较独特,C/C#/Java 没有相应功能。
4、 C++ 的语法可使程序更简洁,如运算符重载、隐式转换。但另一方面,C 语言的 API 通常比 C++ 简洁,能较容易供其他语言程序调用。因此,一些 C++ 库会提供 C 的 API 封装,同时也可供 C 程序调用。相反,有时候也会把 C 的 API 封装成 C++ 形式,以支持 RAII 和其他 C++ 库整合等。
我觉得吧;C++就是 之所以很多人都在支持C而不是C++,一方面是C++真的很复杂很抽象,另一方面是因为需求复杂的通常不用C/C++写了,而常用C/C++写的又用不上C++一堆新特性 。以上就是为大家整理的部分关于C语言和C++的一些区别
领取专属 10元无门槛券
私享最新 技术干货