大佬教程收集整理的这篇文章主要介绍了可以重新分配引用吗?,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我的理解是,引用一旦分配,就不能再分配。然而,在 A Tour of C++ 中,Stroustrup 有这么一段代码:
int x = 2;
int y = 3;
int& r = x;
int& r2 = y;
r = r2;
这似乎意味着引用 r
可以在其初始分配后重新分配。规则只是引用只能重新分配给其他引用还是我遗漏了其他东西?
不,这里的参考文献没有重新分配。只是将 y
引用的 r2
的值分配给 x
引用的 r
。
要处理这种情况,请将引用视为它引用的变量的别名。当你把引用放在你把变量本身的任何地方时。
您可以通过以下代码来确保这一点
#include <iostream>
int main()
{
int x = 2;
int y = 3;
int& r = x;
int& r2 = y;
r = r2;
std::cout << std::boolalpha << (&x == &r) && (&y == &r2) && (&y != &r);// gives true
}
Demo
,您没有更改任何引用的内容。
如果你查看这 4 个变量的地址,你会看到:
x
和 r
的地址仍然相同。y
和 r2
仍然具有相同的地址。x
和 y
的地址仍然不同。以上是大佬教程为你收集整理的可以重新分配引用吗?全部内容,希望文章能够帮你解决可以重新分配引用吗?所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。