我正在尝试理解C ++引用变量。此链接似乎表明可以重新分配指针,同时应在初始化时分配引用。 difference between pointer and reference。我在下面有以下代码。我在debian系统上运行它。输出也如下所示。输出似乎表明引用也可以重新分配。如果有人能澄清,那将会很棒。
#include <iostream>
using namespace std;
int main()
{
int x = 5;
int y = 6;
int *p;
p = &x;
cout << "content of p " << *p << endl;
p = &y;
cout << "content of p " << *p << endl;
*p = 10;
cout << "content of p " << *p << endl;
/*A reference must be assigned at initialization*/
int &r = x;
cout << "content of r " << r << endl;
r = y;
cout << "content of r " << r << endl;
return 0;
}
输出
content of p 5
content of p 6
content of p 10
content of r 5
content of r 10
答案 0 :(得分:3)
您在此处看到的是分配给引用变量引用的变量的值。
换句话说:
您没有为引用变量指定新值。您为引用的变量指定了新值。