【发布时间】:2020-06-02 16:25:18
【问题描述】:
如果我有一个将所有 const 引用作为参数的函数和另一个带有值的函数......那么在这两种情况下,值都不会被修改..那么为什么首选使用 const 引用?
【问题讨论】:
-
引用指向同一个对象,传值复制整个对象。这是性能问题
-
@RoQuOTriX 和语义。除了可能性,因为有些是不能复制的。
-
基本上,按值传递会复制对象。有时您无法复制对象,有时复制对象的成本很高(例如容器)。有时,当对象非常小时,复制效果会更好,例如
int或指针。 -
不仅仅是性能。这是根本不同的事情(想想突变的影响)
标签: c++