&b=a;是什么意思

a=1;&b=a;b++;printf("%d",b);a++;printf("%d",b);

第1个回答  2012-09-05
这是C++的引用,引用只能在定义的时候被赋值,例如
int a = 1;
int &b = a;
这个定义的意思就是给a取了一个别名叫b,所有对b的操作都是直接作用于a

引用传递函数参数这里先不说,给你讲个最简单的用法
比如我写了个变量,名字非常长
int a_very_very_very_long_variable = 1;
我在后面的代码中要对这个变量进行操作,每次要打这么长的名字非常累,怎么办?用引用
int &x = a_very_very_very_long_variable;
然后操作x = 3;这时候a_very_very_very_long_variable的值就变成3了。追问

我举个例子,a=3;&b=a;b++:printf("%d %d",a,b);如果按你讲的,那结果就是4,4(”所有对b的操作都是直接作用于a“这是我按你说的理解的)。但如果a=3;&b=a;a++;printf("%d %d",a,b);这个结果是多少呀???

追答

a和b始终都是一样的,这么解释明白了吗?也就是说结果还是4,4

本回答被提问者和网友采纳
第2个回答  2012-09-05
这是错的,你前面得先把b定义成指针类型,b=&a;这样应该就对了!
第3个回答  2012-09-05
&b=a ; 编译错误

error C2440: '=' : cannot convert from 'int' to 'int *'
第4个回答  2020-04-03