通过引用传递是否涉及复制地址?

链接的question阐明了实现引用的两种可能方式:作为别名或指针。一个reply表示,从程序员的角度看,两者之间没有区别。在我看来,这是不正确的:

  • 如果引用在内部是别名,则按引用传递应该具有零开销(在这种情况下,我想知道为什么不通过const引用传递int而不是通过值传递它)。
  • 如果引用在内部是一个指针,则通过引用传递将花费复制地址的费用(而通过const引用传递int将花费复制地址的费用并引入间接寻址)。

我的分析正确吗?那么内部引用是别名还是指针?

xiariweiyang 回答:通过引用传递是否涉及复制地址?

  

一个回复说,从程序员的角度来看,两者之间没有区别。

是真的。

没有一种可移植的方式来告诉差异是引用是实现为指针还是以其他方式实现。从程序员的角度来看,您考虑的差异无关紧要。传递对函数的引用永远不会完全免费,因此调用传递“开销”指针有点过于乐观。

本文链接:https://www.f2er.com/3096349.html

大家都在问