详解C语言和C++的区别与联系,指针和引用的区别,new/delete和malloc/free的区别

本文探讨了C语言与C++的主要区别,包括C++的面向对象特性、引用与指针的差异,以及new/delete与malloc/free在动态内存管理上的不同。此外,还提到了C++中的inline和friend关键字以及const的使用差异。
摘要由CSDN通过智能技术生成

C++是C语言的扩充,不仅可以沿袭使用C语言的语法,C++还有自己的特殊的部分。
那就主要说一说C语言和C++的区别:
1、C语言是面向过程语言,但是C++是面向对象语言(什么是面向对象:将实现功能的模块封装在类里,把细节交给类去实现,用户使用时只需要调用接口就可以了,不需要关注底层是如何实现的)。
2、C语言中函数传参尽量使用传地址的方式,即用指针(一来当变量过大的时候避免值传递的拷贝空间耗费,同时保证能够达到修改变量秀搞的是变量本身,而不是变量的临时拷贝),C++不仅可以有指针,还增加了引用。

补充一下引用和指针的区别:
1、指针是变量的地址,引用是变量的别名。
2、引用必须初始化(不能为空),但是指针可以不需要(可以为空)。
3、引用一经初始化就不能再去引用其他变量了,但是指针还可以改变。
4、sizeof对指针操作球的是指针指向对象的大小,sizeof对引用操作就是变量的大小。
5、指针引用自增自减效果不同。
6、引用比指针安全(指针有野指针的隐患)
7、当两者做函数参数传递时,对指针进行操作要先解引用,而引用就可以直接进行操作。

3、结构体的意义不相同
C语言结构体使用struct关键字,默认访问限定符是public,但是C++中也可以用struct描述结构体,只不过默认访问限定符是private。而且C++中的struct关键字也可以表示类&#

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值