打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
c 与 c 的真正区别在哪里?

一些区别:

C: 编写C代码,写出来的是C代码。

C++:编写C++代码,写出来的是还是C代码。

C:运行时内存错误。

C++:看起来像是运行时内存错误。

C:编译器警告你。

C++:编译器警告它自己。

C:1天学会,1年掌握。

C++:1年学会,-1年掌握。

C:Goto有害。

C++:C++可以无害。

C:入门语言。

C++:出门语言。

C:面向过程。

C++:面向C++。

C:一切皆指针。

C++:一切皆编译器。

C:烂代码能轻易编过,也能轻易调过。

C++:烂代码不能轻易编过,也不能轻易调过。

C:说精通的可能精通。

C++:说精通的肯定不精通。

先说一个实际情况,有相当一部分程序员仅仅把c++当成能够在任意地方声明变量的c语言来写程序。即使使用类、继承之类的特性,也是比较蹩脚的套概念。

好,下面针对题主的问题进行回答:

语言特性前面答主已经列的很详细了,类、模板这些特性都是现代高级语言的特性,这些特性使得c++可以支持非常复杂的开发模式。

使用场景,个人观点,所有c可以实现的复杂工程,都可以用c++优雅的实现。甚至包括操作系统内核。c++对于指令、内存的操作的能力是从c继承过来的,所以要求精确到汇编级的程序可以用c++开发。另外因为c++有面向对象的能力,所以c++可以以脚本语言的形式开发大型复杂工程。

对于设计哲学,c++与c完全是两门语言。c++是一种提供多种开发范式的面向对象的语言,而c语言仅仅是面向过程的语言。用c++来解决问题,可以优雅的将问题抽象成各种实体部件,相互配合“合力”将问题解决。用c来解决问题,总是将大的过程分解成小的阶段或小的过程,把各阶段或小的过程结果汇总最后将问题解决。

最后,如果面试官用这个问题来问应届生,可能意义不大,没有写过足够量代码的程序员,确实无法将这个问题讲清楚。

C++实际上是一个独立于C的语言,说C++是C的超集的人根本没意识到C++语言特性的强大。

C++之所以有不少缺点是因为C++为了兼容C所以历史抱负太重。

至于不支持GC以及其他所谓的缺点都只不过是没有开发出来罢了,用C++的语言特征完全可以实现GC。

如果说C++开发的时候不够安全,只能说开发者的水平不够。

C能实现的东西能用C++更优雅更高效地实现,C++能实现的东西用C却不一定能实现。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
各种编程语言大PK,纯干货
为什么C++无法彻底替代C语言
元编程语言的诞生丨深入浅出解读Unilang!
高级语言如何映射到汇编的映射
C++ 20 Concepts可以在VS2019中使用啦
为你解疑:CLR是什么?
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服