int i = 5;
int j = 6;
int &m = j;
m=i;
m=8;?????

解决方案 »

  1.   

    可是我在DEBUG的时候,没有发现错误呀,j的值在改变呀???
      

  2.   

    赋值正确;
    int &m = j;//m为j的引用,此时m == j == 6;
    m = i;//为j的引用m赋值,实际是修改j的值,此时m == i == j == 5;
    m = 8;//为j的引用m赋值,实际是修改j的值,此时m == j == 8;
      

  3.   

    m=8;
    错误
    如果定义的不是const类型的引用变量,不可以这样
      

  4.   

    m=8;
    错误
    如果定义的不是const类型的引用变量,不可以这样
      

  5.   

    int i = 5;
    int j = 6;
    const int &m = j;
    m=i;
    m=8;
    就可以了
      

  6.   

    我们的教材上都说m=8没错啊,<<C++面向对象的程序设计教程>>清华大学出版社的P36页啊