Können Sie mir den Unterschied zwischen Rückgabewert, Referenz auf Wert und const Referenz auf Wert erklären?C++ Rückgabewert, Referenz, Konstante Referenz
Wert:
Vector2D operator += (const Vector2D& vector)
{
this->x += vector.x;
this->y += vector.y;
return *this;
}
Nicht konstante Referenz:
Vector2D& operator += (const Vector2D& vector)
{
this->x += vector.x;
this->y += vector.y;
return *this;
}
Konst Referenz:
const Vector2D& operator += (const Vector2D& vector)
{
this->x += vector.x;
this->y += vector.y;
return *this;
}
Was i nützt das? Ich verstehe den Sinn hinter const Referenz übergeben an Funktion, wie Sie sicherstellen möchten, diesen Wert nicht zu ändern, auf den Verweis innerhalb einer Funktion verweist. Aber ich bin verwirrt durch die Bedeutung der Rückkehr const Referenz. Warum ist die Rückgabe der Referenz besser als die Rückgabe des Wertes und warum ist die Rückgabe der Konst-Referenz besser als die Rückgabe der Nicht-Konst-Referenz?
mögliche Duplikate von Ihrem C++ Buch –