首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

C++引用有关问题

2012-05-24 
C++引用问题。c++primer中有这么一句话:当引用初始化后,只要该引用存在,他就保持绑定到初始化时指向对象,不

C++引用问题。
c++primer中有这么一句话:当引用初始化后,只要该引用存在,他就保持绑定到初始化时指向对象,不可将引用绑定到另一个对象上

但是:
#include<iostream>
using namespace std;
int main()
{
int i=3;
int b=4;
int &a=i;
a=b;
cout<<a;
return 0;
}

这段代码输出的结果确实4,如果按他的说法应该是三。。。。。因为引用a初始化时指向的对象是i,那么应该输出3.。。


是我错了,还是书错了。。。。求大神。。

[解决办法]
引用绑定到了i.
这样写了之后, a=b.同时 i的值也变为4了.
[解决办法]
&a=i,就相当于给i取了个别名,可以把a和i看作一个,在a=b的时候,a的值改变了,i的值当然也改变了
[解决办法]
int i=3;
int b=4;
int &a=i;//这里a是i的别名
a=b;//把a的值置为4,也就是把i的值置为4
cout<<a;//所以这里输出为4

C++中通常不这样使用引用,引用通常使用在传递引用参数,有时基于效率问题, 
有时是不使用return,而直接传引用。

[解决办法]

探讨

引用绑定到了i.
这样写了之后, a=b.同时 i的值也变为4了.

热点排行