指针与引用的区别

本文详细解析了指针与引用在C++中的10大关键区别,包括它们的本质、初始化需求、可更改性、空值处理、sizeof行为、赋值效果、动态内存管理、操作特性及多级指针的存在性,帮助读者深入理解两者差异。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

(1)指针是实体,引用是别名,没有空间。本质上的区别就是指针是一个新的变量,只是这个变量存放着另一个变量的地址,而引用是变量本身

(2)引用定义时必须初始化,指针不用。

(3)指针可以改变它指向的对象,而引用不可以。

(4)引用不能为空,不能有NULL引用,引用必须与一块合法的存储单元关联。指针可以。

(5)Sizeof(引用)计算的是它引用的对象的大小,而sizeof(指针)计算的是指针本身的大小。

(6)给引用赋值修改的是该引用与对象所关联的值,而不是与引用关联的对象。

(7)如果返回的是动态分配的内存或对象,必须使用指针,使用引用会产生内存泄漏。

(8)对引用的操作即是对变量本身的操作。

(9)指针和引用的自增(++)运算意义不一样。

(10)指针可以有多级,但是引用只有一级(int**p是合法的,int&&q是不合法的)

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值