我在一些不错的 C++ 教程中读到,确实存在独立引用,并且行为类似于别名。但是...我想知道它是做什么用的。为什么要使用别名。
此外,一些我不清楚的代码:
int a;
int &ref = a; // independent reference
int b = 19;
ref = b;
cout << a << " " << ref << "\n";
ref--;
cout << a << " " << ref << "\n";
首先, ref 是对 a 的“引用”。我从第二行代码中了解到 ref 的地址(因此是ampershead)是a。然后,整数 ref 被赋予 b (19) 的值。第一个 cout 返回 a 和 ref,都等于 19。为什么?整数a不是ref的地址吗?然后,递减 ref,最后一个 cout 给出两次 18. a 和递减的 ref。
神秘的唯一可能的奇怪解释:这里 int& 本身就是一个类型,“对整数的独立引用”,这种类型意味着别名。那么无论你对 ref 做什么,对 a 也是如此。
那正确吗?但是为什么需要别名呢?