const引用

C++ const引用

引用通俗的说法就是变量的别名,存储的是所指向变量的地址。

常量引用就是指向常量对象的引用。

所谓const引用,const int a=1;const int &b=a;

 

当然 大家看看这段代码编译的时候会不会出错呢  int a=1;  const int &b=a;  ?

告诉大家,是不会出错的。这是为什么呢?  在变量a定义的时候,a 不是常量,所以a的值可以改变,然后一个常量引用指向了a,  这是 如果a改变 这时输出b 的值也会随之改变,但是如果要想通过b的值改变a 的值,则会出错。

 

还有 只有常量引用可以有初始化右值,因为初始化右值一般都是字面值常量,顾名思义,只是个常量,所以只有常量引用可以有初始化右值。

如:  int & a=1;  //这样会出错

        const &a=1;//这样就对了

 

最后一点 一个引用一旦指向了一个类型的对象,就不能再指向其他对象了。就是说引用指向一个变量后,就不能再指向其他对象了。

 

 

 

4 当一个函数的返回值是一个对象的引用的时候, 千万不要返回局部对象的引用。局部对象的引用,就是在函数内部创建的变量,此变量在函数执行完之后就会释放分配给局部对象的存储空间,这时,局部对象的引用就会指向不确定的内存。运行时肯定会出错的

 同理:也不能返回指向局部对象的指针,反正一句话:当你写函数返回值的时候,一定要考虑到在函数内部分配的内存空间

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值