This question already has answers here:
What are the differences between a pointer variable and a reference variable in C++?
                                
                                    (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