按值,参考和名称调用

时间:2012-10-07 15:26:54

标签: c++ reference callbyname

  

可能重复:
  Pass by Reference / Value in C++

我想知道按值/引用/名称调用之间的区别是什么。为什么使用一个在另一个上是有益的?

2 个答案:

答案 0 :(得分:1)

按值调用:将参数的副本传递给函数

调用参考:不进行额外的复制,调用者的变量直接传递。

主要区别在于,通过值范例调用时会产生一个额外的不必要的副本...除非被调用者需要修改变量并且您不希望对其进行更改,否则应始终使用call be reference(或const reference)你的来电者的变量......

答案 1 :(得分:0)

按值调用会创建一个传递给函数的参数副本 - 因此对于可能会产生大量开销的大对象。它还会阻止您对函数内部的参数进行任何更改,因为它们只会在副本中反映出来。通过引用调用传递对对象的引用,因此可以对该对象进行更改 - 除非您通过const引用。