程序问答   发布时间:2022-06-01  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了可以重新分配引用吗?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决可以重新分配引用吗??

开发过程中遇到可以重新分配引用吗?的问题如何解决?下面主要结合日常开发的经验,给出你关于可以重新分配引用吗?的解决方法建议,希望对你解决可以重新分配引用吗?有所启发或帮助;

我的理解是,引用一旦分配,就不能再分配。然而,在 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 个变量的地址,你会看到:

  • xr 的地址仍然相同。
  • yr2 仍然具有相同的地址。
  • xy 的地址仍然不同。

大佬总结

以上是大佬教程为你收集整理的可以重新分配引用吗?全部内容,希望文章能够帮你解决可以重新分配引用吗?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: