如果使用引用的点是改变原始变量的值,为什么要使用const引用? [C ++]

时间:2014-10-18 14:30:41

标签: c++ const pass-by-reference

C ++:

例如,如果我们想要更改实际变量的值,则使用“按引用传递”。

那么“通过const引用”有什么用?它说它不允许我们改变变量的值。

行。那么为什么不首先使用“按值传递”呢? :/“Pass By Value”也不会改变变量的值。它将改变临时副本的值。

那么为什么要使用CONST参考? O_O?我希望你能帮助我。

请帮我澄清我的疑问。

1 个答案:

答案 0 :(得分:4)

我认为你的意思是

int foo(int const& bar)

而不是

int foo (int bar)

如果这是您的问题,则使用传递参考,以便不需要制作副本。在上面的例子中,它是微不足道的,因为参数是int。但如果它是一个很大的vectormap,你肯定不想通过值传递,因为它会复制。

因此,如果您只想通过引用传递以避免复制,但又不希望变量是可变的,那么您可以将其作为const引用。