C++中引用的限制以及引用和指针的区别

C++的引用有权限限制,只能缩小不能放大。const引用可平移权限,不改变原变量类型。指针与引用有显著区别,如引用必须初始化,不可变,无NULL状态,且安全性更高。在处理权限和类型转换时,const的使用至关重要。

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

1.C++中的引用虽然好用,但它的使用也有着一定的限制。例如权限只能被缩小,不能被放大

 所以上面因为原来的c是被const修饰过,所以无法在采用取别名的方式放大权限。

 但如果我们也将别名采用const修饰则不会报错,因为这是权限的平移。

并且权限可以被缩小

 可以看见加了const 修饰的别名是没有错误的,而此时权限被缩小了,而被缩小的也只是别名,此时原本的C的类型并没有被改变,可以通过改变c来改变d的值。

 在用类型不同的变量来传递数值,会发生截断的情况

 但截断的情况是由于内部产生了一个常量来进行传递

所以此时用别名来接收是错误的(权限被放大)

不过如果采用const来修饰则不会产生错误(权限平移)

 

 同理函数的值返回也是一样

 

 最后说一下引用和指针的区别

1.指针是创建一块空间存放所指向的地址,引用是一块空间的另一个名字

2.引用必须初始化,而指针没有要求

3.引用的对象不能再改变,而指针指向的对象可以改变

4.没有NULL引用,只有NULL指针

5.指针的大小永远是内存储存地址的空间大小,而引用的大小是所对于类型的大小

 

 6.指针加一是越过一个对应类型的大小的字节,而引用加一是指对引用的对象的值加1.

7.有多级指针,没有多级引用

8.引用比指针安全。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值