指针和引用的区别

本文详细探讨了C++中引用和指针的区别,包括引用必须初始化、不可重新绑定,以及在汇编层次上的实现。在函数调用时,引用传递会直接操作原对象,而指针传递可能需要二级指针来影响实参。引用提供了一种更安全的机制,避免了未初始化指针可能导致的问题。
摘要由CSDN通过智能技术生成

引用和指针的区别

(1)引用必须初始化,指针可以不初始化且可以为空

(2)引用不可更改其绑定对象,指针可以改变其指向对象

(3)sizeof对于引用得到是绑定对象的大小,而指针为4个字节(32位下)

(4)引用不是对象,指针是对象,所以不能定义引用的引用

(5)引用只能绑定在对象上,而不能绑定到字面值或某个表达式计算结果;但是常量引用能绑定到字面值上

汇编层次解释引用

   指针和引用在汇编上是一样的,所以引用占用的内存空间的大小和指针一样。使用引用就相当于编译器默认对指针解引用一样。看下面的代码:

int main() {
   
    int x = 5;
    int
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值