chaimengzhi 2018-04-18 14:59 采纳率: 100%
浏览 2060
已采纳

C++ 什么叫做引用不能改变它指向的对象

int main()
{
int a = 3;
int &b=a ;
cout << b<<endl;
b += b;
cout << a<<endl;
return 0;
}
输出3 6
当b的值改变的时候,原对象a的值也改变了呀?

  • 写回答

3条回答 默认 最新

  • 不胡来 2018-04-19 09:21
    关注

    c++ 之中的引用的本质上是指针,底层是一个指向被引用对象的指针。而每一个使用引用的地方该指针被自动解引用了,用你例子为例:b是一个引用变量,底层保存的是a的指针,当我们使用b的时候自动解引用,可以理解为使用b的地方被替代为*(&a),所以引用变量一旦经过初始胡我们就无法访问到b实际的内存。无法改变b的指向,b一生一世只能是a的引用

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 delta降尺度计算的一些细节,有偿
  • ¥15 Arduino红外遥控代码有问题
  • ¥15 数值计算离散正交多项式
  • ¥30 数值计算均差系数编程
  • ¥15 redis-full-check比较 两个集群的数据出错
  • ¥15 Matlab编程问题
  • ¥15 训练的多模态特征融合模型准确度很低怎么办
  • ¥15 kylin启动报错log4j类冲突
  • ¥15 超声波模块测距控制点灯,灯的闪烁很不稳定,经过调试发现测的距离偏大
  • ¥15 import arcpy出现importing _arcgisscripting 找不到相关程序