重新分配C ++引用变量

时间:2016-02-09 20:56:11

标签: c++ pointers reference

我正在尝试理解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

1 个答案:

答案 0 :(得分:3)

您在此处看到的是分配给引用变量引用的变量的值。

换句话说:
您没有为引用变量指定新值。您为引用的变量指定了新值。