C ++参考如何在幕后工作[重复]

Posted

技术标签:

【中文标题】C ++参考如何在幕后工作[重复]【英文标题】:C++ How reference works behind the scenes [duplicate] 【发布时间】:2018-11-16 11:00:31 【问题描述】:

例如在

int *a = 5;
MyFunc(&a);

'&' 的幕后工作是什么?它只是创建一个指向指针的指针并自动推迟它吗?还是在做一些不同的事情。

有没有办法在 C++ 中通过“真实”引用传递,或者一切都是按值传递的指针?

【问题讨论】:

我在这里看不到任何参考资料。 &a 不是引用,它是a 的地址,类型为int** 【参考方案1】:

C++ 中的引用基本上是作为指针实现的。我认为这就是它们在所有语言中的实现方式,而不仅仅是 C++。

这里有一个较早的问题有更好的答案:How is reference implemented internally?

【讨论】:

那么,为什么要投反对票?

以上是关于C ++参考如何在幕后工作[重复]的主要内容,如果未能解决你的问题,请参考以下文章

Meteor 的反应在幕后是如何工作的?

在c+++中如何存储++key-value,但是key有重复,怎么存储

在winform当中提交数据,如何防止重复提交?

如何在spyder中安装模块[重复]

如何在 docker 容器中修复 ctrl+c

如何在 C 中覆盖标准输出