我想知道 - 为什么将 const (...)&
放在 C++ 中是个好主意?我在一些课堂教程中找到了这段代码。我知道 const
正在使某些东西保持不变并且无法更改,而 &
正在将其传递给函数。为什么两者都做?如果我不能改变某些东西,我为什么要把它传递给函数?
这是一个例子:
class CVector {
public:
int x,y;
CVector () {};
CVector (int a,int b) : x(a), y(b) {}
CVector operator + (const CVector&);
};
CVector CVector::operator+ (const CVector& param) { //example
CVector temp;
temp.x = x + param.x;
temp.y = y + param.y;
return temp;
}
原文由 Igracx33 发布,翻译遵循 CC BY-SA 4.0 许可协议
尽管
const
阻止您更改参数的值,但最好发送对它的引用,而不是按值发送它,因为在大型对象中,按值发送它需要复制它首先,这在通过引用调用时不是必需的