This question already has answers here:
What are the differences between a pointer variable and a reference variable in C++?
(37个答案)
5年前关闭。
在此代码中,我首先将&r分配给x,然后将r分配给y。
分配&r = x和r = y有什么区别?
请帮我。
(37个答案)
5年前关闭。
#import<iostream>
using namespace std;
int main()
{
//trying to test pointers & reference
int x = 5;
int y = 6;
int *p;
p = &y;
*p = 10;
int &r = x;
cout<<"X reference\n"<<&r<<"\n"<<"value:"<<r<<"\n";
r=y;
cout<<"Y reference\n"<<&r<<"\n"<<"value:"<<r<<"\n";
}
在此代码中,我首先将&r分配给x,然后将r分配给y。
分配&r = x和r = y有什么区别?
请帮我。
最佳答案
int &r = x;
定义对int变量的引用。
引用在定义后无法更改它们引用的内容,因此该行r=y;
正在为x
分配y
中存储的值。它不会使r
开始引用y
。到r
或从x
进行的任何分配都将被视为来自*
。
考虑引用的另一种方法是,它们好像是一个指针变量,在初始化它之后您就无法更改其指向的对象,并且任何使用它们的情况都具有隐式取消引用()运算符。
07-26 09:34