最佳答案
你能给我解释一下返回值、参考值和常量参考值之间的区别吗?
价值:
Vector2D operator += (const Vector2D& vector)
{
this->x += vector.x;
this->y += vector.y;
return *this;
}
非常规参考:
Vector2D& operator += (const Vector2D& vector)
{
this->x += vector.x;
this->y += vector.y;
return *this;
}
参考文献:
const Vector2D& operator += (const Vector2D& vector)
{
this->x += vector.x;
this->y += vector.y;
return *this;
}
这样做有什么好处?我理解将常量引用传递给函数背后的含义,因为您希望确保不要修改函数内部引用所指向的值。但是我对返回 const 引用的含义感到困惑。为什么返回引用比返回值好,为什么返回常量引用比返回非常量引用好?