In C++,
function() = 10;
funktioniert, wenn die Funktion eine Variable per Referenz zurückgibt.
Was sind die Anwendungsfälle dafür?
In C++,
function() = 10;
funktioniert, wenn die Funktion eine Variable per Referenz zurückgibt.
Was sind die Anwendungsfälle dafür?
SO habe ich meine Antwort vermasselt
Sie müssen nicht einmal eine Referenz zurückgeben:
struct C { };
C f() {
return C();
}
int main() {
C a;
f() = a; // compiles fine
}
Da dieses Verhalten recht überraschend ist, sollten Sie normalerweise einen konstanten Wert oder einen konstanten Verweis zurückgeben, es sei denn, der Benutzer hat die sinnvolle Absicht, das Ergebnis zu ändern.
Sie können auch eine Methodenverkettung erreichen (wenn Sie dies wünschen), indem Sie die Rückgabe per Referenz verwenden.
class A
{
public:
A& method1()
{
//do something
return *this; //return ref to the current object
}
A& method2(int i);
A& method3(float f); //other bodies omitted for brevity
};
int main()
{
A aObj;
aObj.method1().method2(5).method3(0.75);
//or use it like this, if you prefer
aObj.method1()
.method2(5)
.method3(0.75);
}
CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.