C和C++的区别

最大的区别就是在设计思路上:C语言面向过程,C++面向对象
所以C语言解决问题的思路是:把问题分拆分几个步骤,通过函数把这些步骤依次实现。
而C++解决问题的思路是把问题涉及的各个事务用对象描述出来,通过对象的交互解问题。

所以在语法方面,C++支持继承、多态,并且对struct的功能进行了扩充,和class的区别就是struct默认的成员访问权限是public,class是private。

C和C++还有一些具体的区别:

  1. 内存管理方面,C语言通过malloc/free进行申请释放,C++通过new和delete,C++支持引用,引用比指针更安全。还有强制类型转换,C语言是通过隐式类型转换和手动强转实现,C++规范出四种类型转换const_cast、static_cast、reinterpret_cast 和 dynamic_cast

  2. 输入输出方面,C语言用的是printf和scanf这样的库函数,C++用的是cin/cout这些流的对象。

  3. 函数方面,C++支持缺省参数、函数重载、运算符重载、内联函数,C语言不支持。

  4. 作用域方面,C++多了一个类作用域,C++还可以使用命名空间来避免命名冲突

  5. 还有就是C++支持泛型编程,C++有非常强大的标准模板库STL,C++也可以很好地使用一些面向对象的设计模式来进行开发。

一句话概括就是C++的设计思想是面向对象,在兼容C语言的同时进行了许多规范和补充。但是设计C++不是为了取代C语言,他们有各自的应用领域。C语言主要应用在一些和硬件打交道的场景。C++可以用于应用层开发。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

江南无故人

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值