gpt4 book ai didi

c++ - 为什么将 const (...)& 放在 C++ 中

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:30:04 24 4
gpt4 key购买 nike

我想知道 - 为什么将 const (...)& 放在 C++ 中是个好主意?我在一些类(class)教程中找到了这段代码。我知道 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;
}

最佳答案

即使 const 阻止您更改参数的值,最好发送一个引用给它,而不是按值发送它,因为在大对象中,发送它value 需要先复制它,这在通过引用调用时没有必要

关于c++ - 为什么将 const (...)& 放在 C++ 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44795308/

24 4 0