0

可能重复:
在 C++ 中通过引用/值传递

我想知道按值/引用/名称调用之间有什么区别。为什么使用一种比另一种更有益呢?

4

2 回答 2

1

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

call be reference:不做额外的拷贝,直接传递调用者的变量。

主要区别是在按值调用范式中创建了一个额外的不必要的副本...除非被调用者需要修改变量并且您不希望更改调用者的变量,否则您应该始终使用调用作为引用(或常量引用) ...

于 2012-10-07T15:32:38.367 回答
0

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

于 2012-10-07T15:31:39.380 回答