我想知道按值/引用/名称调用之间的区别是什么。为什么使用一个在另一个上是有益的?
答案 0 :(得分:1)
按值调用:将参数的副本传递给函数
调用参考:不进行额外的复制,调用者的变量直接传递。
主要区别在于,通过值范例调用时会产生一个额外的不必要的副本...除非被调用者需要修改变量并且您不希望对其进行更改,否则应始终使用call be reference(或const reference)你的来电者的变量......
答案 1 :(得分:0)
按值调用会创建一个传递给函数的参数副本 - 因此对于可能会产生大量开销的大对象。它还会阻止您对函数内部的参数进行任何更改,因为它们只会在副本中反映出来。通过引用调用传递对对象的引用,因此可以对该对象进行更改 - 除非您通过const
引用。